我正在使用Spark 2.0.0,并且有两个如下的数据集(Dataset [Row])。
数据集“ appUsage”:
+----------+-------------------+----------+
|DATE |APP_ID |TIMES_USED|
+----------+-------------------+----------+
|2016-08-03|06xgKq10eeq0REK4eAc|null |
|2016-08-03|ssads2wsdsf |null |
|2016-08-03|testApp |null |
|2016-08-03|3222aClie-971837083|5 |
|2016-08-03|V2aadingTLV02 |null |
|2016-08-03|OurRating-985443645|5 |
|2016-08-03|Trdssktin-743439164|null |
|2016-08-03|myaa1-app |null |
|2016-08-03|123123123-013663450|null |
+----------+-------------------+----------+
数据集“ appDev”
+-------------------+------------------------------------+
|APP_ID |DEVELOPER_ID |
+-------------------+------------------------------------+
|OurRating-985443645|5fff25c7-6a70-4d54-ad04-197be4b9a6a9|
|Xa11d0-560090096095|5fff25c7-6a70-4d54-ad04-197be4b9a6a9|
+-------------------+------------------------------------+
当我使用以下代码进行左连接时,所有操作均按预期进行。
val result = appUsage.join(appDev, Seq("APP_ID"), "left")
输出为:
+-------------------+----------+----------+------------------------------------+
|APP_ID |DATE |TIMES_USED|DEVELOPER_ID |
+-------------------+----------+----------+------------------------------------+
|06xgKq10eeq0REK4eAc|2016-08-03|null |null |
|ssads2wsdsf |2016-08-03|null |null |
|testApp |2016-08-03|null |null |
|3222aClie-971837083|2016-08-03|5 |null |
|V2aadingTLV02 |2016-08-03|null |null |
|OurRating-985443645|2016-08-03|5 |5fff25c7-6a70-4d54-ad04-197be4b9a6a9|
|Trdssktin-743439164|2016-08-03|null |null |
|myaa1-app |2016-08-03|null |null |
|123123123-013663450|2016-08-03|null |null |
+-------------------+----------+----------+------------------------------------+
但是我想进行内部联接,以便只有两个数据集中都存在的行才成为结果集的一部分。但是,当我使用以下代码执行此操作时,输出为空。
val result = appUsage.join(appDev, Seq("APP_ID"), "inner")
我想念什么吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句