Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 特定列Spark 1.6除外_Apache Spark_Dataframe_Apache Spark Sql - Fatal编程技术网

Apache spark 特定列Spark 1.6除外

Apache spark 特定列Spark 1.6除外,apache-spark,dataframe,apache-spark-sql,Apache Spark,Dataframe,Apache Spark Sql,我正在尝试使用dfB从dfA中筛选出行 dfA: dfB: 我的目标是从dfA中填写dfB中所有year cid 我认为这是一个明显的例子,除了: dfA.except(dfB) 但是,我需要两个DF中的列数相同。 是否有方法对特定列执行EXPECT操作? 或者应该完全走另一条路。不,我认为这对不起作用,除了。您需要的是左反联接: dfA.join(dfB,Seq("year","cid"),"leftanti") 在spark 2之前,此操作也应如此 dfA.join(dfB.withCo

我正在尝试使用dfB从dfA中筛选出行

dfA:

dfB:

我的目标是从dfA中填写dfB中所有
year cid

我认为这是一个明显的例子,除了:

dfA.except(dfB)
但是,我需要两个DF中的列数相同。 是否有方法对特定列执行EXPECT操作?
或者应该完全走另一条路。

不,我认为这对
不起作用,除了
。您需要的是左反联接:

dfA.join(dfB,Seq("year","cid"),"leftanti")
在spark 2之前,此操作也应如此

dfA.join(dfB.withColumn("b",lit(1)),Seq("year","cid"),"left")
  .where($"b".isNull).drop($"b")

你可以用DFB做dfA的左外连接,你需要的是一个左反join@RameshMaharjan似乎有点过激不?spark 1.6中是否有反连接部分?@user3741859 noSorry我刚注意到我在标题中没有提到它我在spark 1.6上编辑问题它不应该为null你想删除所有匹配的内容吗?@user3741859您想要所有不显示在dfB中的行,对吗?在这种情况下,您必须保留来自dfA的在dfB中不匹配的数据,即b为空。。。
dfA.join(dfB,Seq("year","cid"),"leftanti")
dfA.join(dfB.withColumn("b",lit(1)),Seq("year","cid"),"left")
  .where($"b".isNull).drop($"b")