4

私は Spark 2.0.0 を使用しており、次のように 2 つのデータセット (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")

何か不足していますか?

4

1 に答える 1