相关疑难解决方法(0)

在Spark UDF中处理所有列/整个行

对于包含字符串和数字数据类型混合的数据框,目标是创建features一个minhash包含所有这些类型的新列。

尽管这可以通过执行dataframe.toRDD来完成,但是下一步要做的只是简单地将其转换RDD 数据帧,这样做是很昂贵的。

因此,有一种方法可以执行udf以下操作:

val wholeRowUdf = udf( (row: Row) =>  computeHash(row))
Run Code Online (Sandbox Code Playgroud)

Rowspark sql当然不是数据类型-因此这将无法正常显示。

更新/说明 我意识到创建一个在其中运行的全行UDF很容易withColumn。不清楚的是可以在spark sql语句内使用什么:

val featurizedDf = spark.sql("select wholeRowUdf( what goes here? ) as features 
                              from mytable")
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql

2
推荐指数
2
解决办法
4812
查看次数

标签 统计

apache-spark ×1

apache-spark-sql ×1

scala ×1