如果我在sparksql中使用hiveudf,它就可以工作了。如下所述。
val df=List(("$100", "$90", "$10")).toDF("selling_price", "market_price", "profit")
df.registerTempTable("test")
spark.sql("select default.encrypt(selling_price,'sales','','employee','id') from test").show
但是,以下操作不起作用。
//following is not working. not sure if you need to register a function for this
val encDF = df.withColumn("encrypted", default.encrypt($"selling_price","sales","","employee","id"))
encDF.show
错误
error: not found: value default
1条答案
按热度按时间j9per5c41#
只有通过sparksql访问配置单元udf时,它才可用。它在scala环境中不可用,因为它没有在那里定义。但是您仍然可以使用
expr
: