如何使用scala在spark中的另一个数据框的where子句中添加数据框的列值

时间:2016-07-13 12:51:08

标签: scala spark-dataframe

我正在使用以下代码获取支持DataFrame。

val suppId = sqlContext.sql("SELECT supp_id FROM supplier")

DataFrame返回单个或多个值。

现在我想使用suppId DataFrame中的supp_id值创建一个DataFrame。但不明白,如何写这个。

我写了下面的代码。但是代码没有用。

val nonFinalPE = sqlContext.sql("select * from pmt_expr) 
nonFinalPE.where("supp_id in suppId(supp_id)")

1 个答案:

答案 0 :(得分:1)

我花了一秒钟才弄明白你要做什么。但是,看起来你想要来自nonFinalPe的行也在suppId中。你可以通过两个数据框的内部连接得到这个,如下所示

val suppId = sqlContext.sql("SELECT supp_id FROM supplier")
val nonFinalPE = sqlContext.sql("select * from pmt_expr") 

val joinedDF = nonFinalPE.join(suppId, nonFinalPE("???") === suppId("supp_id"), "inner")