我正在尝试使用SparkSession从配置单元表创建数据框,如下所示。创建完成后,我将按照ID列表过滤行。
val myDF = spark.sql("select * from myhivetable")
val someDF = mfiDF.where(mfiDF("id").isin(myList:_*))
代替这种方法,我可以通过以下方式查询配置单元表:
val myDF = spark.sql("select * from myhivetable").where (("id").isin(myList:_*))
当我这样尝试时,出现编译错误。
有人可以为此建议最好的方法吗?谢谢。
答案 0 :(得分:0)
您还可以进行内部联接以删除不需要的ID,如下所示可能会起作用。
val ids = sc.parallelize(myList).toDF("id")
someDF.join(ids, ids.id === someDF.id)