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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.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_Apache Spark Sql - Fatal编程技术网

Java 如何使用spark连接具有或条件的两个数据集

Java 如何使用spark连接具有或条件的两个数据集,java,apache-spark,apache-spark-sql,Java,Apache Spark,Apache Spark Sql,我在这里使用Java,我当前的数据集如下所示: 数据集d1(其中c1列同时具有int和string类型的数据集): c1、c2、c3 12,ab,a xy,啊,ab 19,a,ad a、 b,c 数据集d2 c1、c2、c3 12,ab,a 10,啊,ab 19,a,xy 1,b,c 现在我想用或条件连接两个数据集,如下所示: d1.col(c1).equalTo(d2.col(c1)).or(d1.col(c1).equalTo(d2.col(c3))) 我尝试过上面的连接,它适用于较小的数

我在这里使用Java,我当前的数据集如下所示:

数据集d1(其中c1列同时具有int和string类型的数据集):
c1、c2、c3
12,ab,a
xy,啊,ab
19,a,ad
a、 b,c

数据集d2
c1、c2、c3
12,ab,a
10,啊,ab
19,a,xy
1,b,c

现在我想用或条件连接两个数据集,如下所示:

d1.col(c1).equalTo(d2.col(c1)).or(d1.col(c1).equalTo(d2.col(c3)))
我尝试过上面的连接,它适用于较小的数据集,但当我们对较大的数据集(如800亿X 100万)进行连接时,它将永远运行。我不知道会发生什么。有线索吗

我也试过以下几件事:

when(condition, value1).otherwise(value2)
但也没有成功。我也试过用谷歌搜索,但没有成功。也看到了这个堆栈溢出帖子,但对我不起作用。

看一看-这是完全相同的问题类别。您好,感谢您分享这篇文章,但它仍然没有回答如何使用OR键将一对多列上的两个数据集连接起来的问题。