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
使用JAVA在Spark数据集中查找空项_Java_Apache Spark_Dataset - Fatal编程技术网

使用JAVA在Spark数据集中查找空项

使用JAVA在Spark数据集中查找空项,java,apache-spark,dataset,Java,Apache Spark,Dataset,使用数据创建数据集; x:y:z:t 在此数据集上执行计数后 Dataset<Row> testDF = tbHitDf.groupBy("x", "y", "z", "t").count() .sort("x", "y", "z").toDF("x", "y", "z", "t", "counts"); 其中我理解了为什么缺少1、5和7的t值,因为那里没有数据。但这正是我想知道的数据,也就是说,对于哪些值x:y:z:t没有条目 我试图创建一个空数据

使用数据创建数据集; x:y:z:t 在此数据集上执行计数后

Dataset<Row> testDF = tbHitDf.groupBy("x", "y", "z", "t").count()
                .sort("x", "y", "z").toDF("x", "y", "z", "t", "counts");
其中我理解了为什么缺少1、5和7的t值,因为那里没有数据。但这正是我想知道的数据,也就是说,对于哪些值x:y:z:t没有条目

我试图创建一个空数据集

| x| y |x| t|
+--+--+--+--+
| 1| 1| 2| 1|
| 1| 1| 2| 2|
| 1| 1| 2| 3|
| 1| 1| 2| 4|
| 1| 1| 2| 5| 
| 1| 1| 2| 6|
| 1| 1| 2| 7|
然后加入他们

Dataset<Row> joinDf = emptyData.join(testDF,
testDF.col("x").equalTo(emptyData.col("x"))
.and(testDF.col("y").equalTo(emptyData.col("y")))
.and(testDF.col("z").equalTo(emptyData.col("z")))
.and(testDF.col("t").equalTo(emptyData.col("t"))));
然后使用sql语句左连接等

spSession.sql("SELECT  testView.t FROM testView LEFT JOIN DataView ON DataView.x = testView.x AND DataView.y = testView.y AND DataView.z = testView.z  WHERE DataView.t IS NULL")
但这也没有达到目标,因为它返回一个空列表

当我尝试使用.减去数据集时,除了我得到一个奇怪的结果,即

Dataset<Row> subDf = dataDF.except(emptyDF);
这些是常见的,我想要不常见的,所以我尝试相反的方法

Dataset<Row> subDf = emptyDF.except(dataDF);
这很让人困惑,我期待着1,5,7。。。显示。

我还尝试了Dataset subDf=emptyDF.except(dataDF);但这会返回一个包含所有导线的数据集,这也让人困惑。
Dataset<Row> subDf = dataDF.except(emptyDF);
| x| y| z| t|
+--+--+--+--+
| 1| 1| 2| 2|
| 1| 1| 2| 3|
| 1| 1| 2| 4|
| 1| 1| 2| 6|
| 1| 1| 2| 8|
Dataset<Row> subDf = emptyDF.except(dataDF);
| x| y| z| t|
+--+--+--+--+
| 1| 1| 2| 1|
| 1| 1| 2| 2|
| 1| 1| 2| 3|
| 1| 1| 2| 4|
| 1| 1| 2| 5|