Scala 大数据 常用算法收集
Posted CodeArt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala 大数据 常用算法收集相关的知识,希望对你有一定的参考价值。
一:IP转数字,用于比大小,用在求IP段范围中
def ip2Long(ip: String): Long = { val fragments = ip.split("[.]") var ipNum = 0L for (i <- 0 until fragments.length){ ipNum = fragments(i).toLong | ipNum << 8L } ipNum }
二:二分法 查找某一IP段所属范围
def binarySearch(lines: Array[(Long, Long, String)], ip: Long) : Int = { var low = 0 var high = lines.length - 1 while (low <= high) { val middle = (low + high) / 2 if ((ip >= lines(middle)._1) && (ip <= lines(middle)._2)) return middle if (ip < lines(middle)._1) high = middle - 1 else { low = middle + 1 } } -1 }
以上是关于Scala 大数据 常用算法收集的主要内容,如果未能解决你的问题,请参考以下文章
2021年大数据常用语言Scala(十四):基础语法学习 数组 重点掌握