在做大数据分析中,往往收集到的数据IP地址为xxx.xxx.xxx.xxx类型,为方便做数据统计、分析,需要将IP地址转化为Long类型的值 ,以下为scala语言编写的Spark程序:
def ip2Long(ip: String): Long = {
//将IP地址转为Long,这里有固定的算法
val ips:Array[String] = ip.split("\\.")
var ipNum:Long = 0L
for(i <- ips){
ipNum = i.toLong | ipNum << 8L
}
ipNum
}
如将ip地址:192.168.0.1进行Long值转换,转换后为:3232235521