2017-11-18 5 views
1

私は距離と顧客の2つのデータセットを持っています。顧客データセットのidがid_5がidの配列である距離データセットのid_5に存在することを知りたいです。あなたの助けが大変ありがとうございます。配列フィールドに参加するには?

case class Distance(zip: String, id_5: Array[Int]) 
val dist = Seq(Distance("72712",Array(72713,72714,72715))) 
val distDS=dist.toDS() 

case class Customer (cust_id: Int, id: String) 
val c = Seq(Customer(1,"72713"),Customer(2,"72714"),Customer(3,"72720")) 
val custDS = c.toDS() 

val res = distDS.joinWith(custDS,distDS.col("id_5"(??????)) === custDS.col("id"))` 

答えて

0

使用array_contains

import org.apache.spark.sql.functions.expr 

distDS.joinWith(custDS, expr("array_contains(id_5, cust_id)")) 
+0

これは私の問題を解決しました。ありがとうございました.. – Rahul

+1

有用であると思われる場合は、それを受け入れたか有用なものとしてマークしてください。 –

関連する問題