溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Spark中怎么自定義函數(shù)

發(fā)布時間:2021-07-14 14:18:25 來源:億速云 閱讀:170 作者:Leah 欄目:大數(shù)據(jù)

本篇文章為大家展示了Spark中怎么自定義函數(shù),內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

UDF函數(shù)

def myUdf(id: Int) = s"tag$id"
sqlContext.udf.register("myUdf", myUdf(_:Int))


df.registerTempTable("tb1")
sqlContext.sql("select myUdf(col1) from tb1 ")

val myUdf = udf((vec: Int) => s"tag$vec")
df.withColumn("newId",myUdf($"item")).show()

spark.udf.register("myfunction", (str: String) => {
...
})

SparkSessionUDF

val spark: SparkSession = SparkSession.builder().master("local")
  .appName(getClass.getSimpleName)
  .enableHiveSupport()
  .getOrCreate()
import org.apache.spark.sql.functions._
val userData = Array(("A", 16), ("B", 21), ("C", 14), ("D", 18))
val userDF = spark.createDataFrame(userData).toDF("name", "age")
val strLen = udf((str: String) => str.length())

userDF.withColumn("name_len", strLen(col("name")))
userDF.show(false)

上述內(nèi)容就是Spark中怎么自定義函數(shù),你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI