1. 程式人生 > >Spark String型別的IP地址轉化為Long型別

Spark String型別的IP地址轉化為Long型別

在做大資料分析中,往往收集到的資料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