Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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 在sparksql中使用contains进行连接_Apache Spark_Apache Spark Sql - Fatal编程技术网

Apache spark 在sparksql中使用contains进行连接

Apache spark 在sparksql中使用contains进行连接,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我有这样一个数据集: +---+--------------+ | id| name_and_age| +---+--------------+ | 1| Anu,23 | | 2|Suresh,24 | | 3| Usha,24 | | 4| Nisha,25 | +---+--------------+ 及 我需要加入这两个数据集,所以我使用contains dataset1.join(dataset2,dataset.col("n

我有这样一个数据集:

+---+--------------+
| id|  name_and_age|
+---+--------------+
|  1|   Anu,23     |
|  2|Suresh,24     |
|  3|  Usha,24     |
|  4| Nisha,25     |
+---+--------------+

我需要加入这两个数据集,所以我使用contains

dataset1.join(dataset2,dataset.col("name_and_age").contains(dataset2.col(age)),"inner")
但我没有得到正确的结果 还有其他的方法加入吗?
请考虑在连接条件下不使用其他列。

< P>将“代码>年龄>代码>列到<代码> DATSET1 并使用此列加入。

import org.apache.spark.sql.functions_
导入spark.implicits_
val dataset3=dataset1.withColumn(“age”,split(“name_and_age,”))。getItem(1))
dataset3.join(dataset2,“age”).show()
输出:

+---+---+------------+---+
|年龄| id |姓名|和|年龄| id2|
+---+---+------------+---+
|23 | 1 | Anu,23 | a|
|25 | 4 |尼沙,25 | d|
|24 | 2 |苏雷什,24 | b|
|24 | 2 |苏雷什,24 | c|
|24 | 3 | Usha,24 | b|
|24 | 3 |乌沙,24 | c|
+---+---+------------+---+
dataset1.join(dataset2,dataset.col("name_and_age").contains(dataset2.col(age)),"inner")