添加自定义操作星火SQL
问题描述:
我想加上星火SQL新的操作,我已经使用了形式添加自定义操作星火SQL
dataframe.filter(udf("$a", "$b"))
我需要添加类似功能的用户自定义功能,但在两个dataFrames操作,对于例如添加功能,如:
dataframe1.udf(dataframe2))
为了更精确,则该函数是在两个dataframes优化的联接。
实际的代码
CustomJoin(dataframe1,dataframe2)
这可能使用用户定义的函数?任何其他解决方案或例子?
答
您可以使用隐含了这一点:
class AugmentedDataFrame(val df: DataFrame) {
def CustomJoin(df2: Dataframe){ ......}
}
object DataFrameImplicits {
implicit def dfToAugmentedDataFrame(df: DataFrame) = new AugmentedDataFrame(df)
}
然后:
import DataFrameImplicits._
df.CustomJoin(df2)
,以了解更多如何使用隐式的自定义方法添加到现有的类: Add Your Own Methods to the String Class
能你对你确切想要做什么更具体? – mtoto
显然,阅读链接。这不可能。我想写一个自定义连接。实际上,代码的工作方式就像'CustomJoin(df1,df2)'。我的目标是像这样改变它'df1.CustomJoin(df2)' – syl
你能提供示例数据,代码和预期输出吗?截至目前,您的问题仍然过于宽泛。 – mtoto