今天在spark中需要將字元型(string)的ip轉化為長整型(long)的ip,參考了兩篇文章和通過這兩篇文章的抽取出思路。於是封裝成udf函式,如下:
這樣,我就可以在sql中使用我自定義的函式了。sqlcontext.udf.register("ip2long",(ip:string)=>(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$""")=>
ip_long
}case _=>0
}})
var df = spark.sql("select ip, ip2long(ip), region from mytable").todf("ipstr", "ipint", "region")
在此作為小標記,以示記憶。 《轉》奇蹟在堅持中
本文 自netprawn 這是發生在我大學期間的一件事,至今猶記在心。公共課 社會學 的老教授給我們出了這樣一道題目 如果一件事的成功率是1 那麼反覆嘗試100次,至少成功1次的概率大約是多少?備選答案有4個 10 23 38 63 經過十幾分鐘的熱烈討論,大部分人都選了10 少數人選了23 極個別...
在Spark中盡量少使用GroupByKey函式
為什麼建議盡量在spark 中少用groupbykey,讓我們看一下使用兩種不同的方式去計算單詞的個數,第一種方式使用reducebykey 另外一種方式使用groupbykey,如下 01 user 過往記憶 02 date 2015 05 18 03 time 下午22 26 06 過往記憶部落...
解析RDD在Spark中的地位
1.spark的核心概念是rdd resilient distributed dataset 指的是乙個 唯讀的,可分割槽的分布式資料集,這個資料集的全部或部分可以快取在記憶體中,在多次計算間重用。2.rdd在抽象上來說是一種元素集合,包含了資料。它是被分割槽的,分為多個分割槽,每個分割槽分布在集群...