2016-11-06 2 views
1

私は1つの列がタイプSet<text>であるスパークデータフレームを持っています。 この列には、一連の文字列が含まれます(例:["eenie","meenie","mo"])。 のように、データフレーム全体の内容をフィルタリングすると、セット内に値eenieが含まれるような行しか取得できません。Spark Dataframe内の要素の存在を照会する方法セットを含む列?

私は

dataframe.where($"list".contains("eenie"))

上記の例に似た何かを探していますが、列のリストの内容が文字列でないように設定されているときにのみ有効です。私の状況に合った代替手段はありますか?

編集:私の質問は重複していません。その質問のユーザーは一連の値を持ち、どの列が特定の列の中にあるのかを知りたがっています。私はセットを含む列を持っており、特定の値がセットの一部であるかどうかを知りたい。私のアプローチはその反対です。

+0

スパークSQLには、 ''設定しタイプを持っていません。 –

答えて

2

試してみてください。

import org.apache.spark.sql.functions.array_contains 

dataframe.where(array_contains($"list", "eenie")) 
関連する問題