【发布时间】:2017-11-02 13:30:36
【问题描述】:
我正在尝试加入两个dataframe,条件类似于“Hello World”中的“Wo”,即(dataframe1 col 包含 dataframe2 col1 值)。
在HQL中,我们可以使用instr(t1.col1,t2.col1)>0
如何在 Scala 的 Dataframe 中实现同样的条件?我试过了
df1.join(df2,df1("col1").indexOfSlice(df2("col1")) > 0)
但它抛出了以下错误
错误:值 indexOfSlice 不是 org.apache.spark.sql.Column
我只想使用 DataFrames 实现以下 hql 查询。
select t1.*,t2.col1 from t1,t2 where instr(t1.col1,t2.col1)>0
【问题讨论】:
-
首先,这是一个特定于 spark 的问题,应使用 apache-spark 进行标记。其次,不清楚你在做什么。您实际上是在尝试使用条件执行交叉连接吗?另外,您不介意展示一个 MVCE,以便我们尝试提供帮助吗?错误是显而易见的想法
-
@eliasah 是的,我正在尝试交叉连接。我将在问题中添加 sql 示例...
标签: scala apache-spark apache-spark-sql