5

Spark 2.0.0 kullanıyorum ve iki veri kümem var (Dataset [Row]).Spark Veritas - Inner Join Issue

Veri kümesi '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  | 
+----------+-------------------+----------+ 

Veri kümesi 'appdev'

+-------------------+------------------------------------+ 
|APP_ID    |DEVELOPER_ID      | 
+-------------------+------------------------------------+ 
|OurRating-985443645|5fff25c7-6a70-4d54-ad04-197be4b9a6a9| 
|Xa11d0-560090096095|5fff25c7-6a70-4d54-ad04-197be4b9a6a9| 
+-------------------+------------------------------------+ 

Aşağıdaki kodu kullanarak katılmak bir sol yapmak

, beklendiği gibi tüm eserler.

val result = appUsage.join(appDev, Seq("APP_ID"), "left") 

Çıktı geçerli:

+-------------------+----------+----------+------------------------------------+ 
|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        | 
+-------------------+----------+----------+------------------------------------+ 

Ama resultset bir parçası olacak hem veri kümelerinde mevcut böylece satırları katılmak bir iç yapmak istiyorum. Ancak, aşağıdaki kodu kullanarak yaptığımda, çıktı boş.

val result = appUsage.join(appDev, Seq("APP_ID"), "inner") 

cevap

0

bu deneyin:

val result = appUsage.join(appDev, "APP_ID") 

Ben Spark 2.0.0 ile Databrics cloud üzerinde denedim ve iyi çalıştı.

Lütfen this'a bakın.

+0

Sorun, özellikle birleştirme ile değildi. Bir dizi dış birleştirme kullanarak yukarıdaki 'appUsage' DataSet'i oluşturuyordum. Kıvılcım iyileştirici, katılımların sırasını veya bu soruna neden olan bir şeyi değiştiriyor gibi görünüyor. Bunu ayrı bir soru olarak soracağım. Dış birleştirmeyi sol birleştirmeye değiştirdiğimde, appUsage.join (appDev, Seq ("APP_ID"), "iç") de çalışır. Yardım için teşekkürler! –