2016-11-06 1 views
1

У меня есть блок данных искры, где один столбец имеет тип Set<text>. Этот столбец содержит набор строк, например ["eenie","meenie","mo"]. Как отфильтровать содержимое всего фрейма данных так, чтобы Я получаю только те строки, которые (например) содержат значение eenie в наборе?Как запросить наличие элемента внутри столбца DataFrame Spark, содержащего набор?

Я ищу что-то подобное

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

выше показан пример действителен только для того, когда содержание списка столбцов является строка не набор. Какие альтернативы подходят для моих обстоятельств?

Редактировать: Мой вопрос не является дубликатом. Пользователь в этом вопросе имеет набор значений и хочет знать, какие из них находятся внутри определенного столбца. У меня есть столбец, содержащий набор, и я хочу знать, является ли определенное значение частью набора. Мой подход противоположный этому.

+0

Спарк SQL не имеет '' Set типа. –

ответ

2

Try:

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

dataframe.where(array_contains($"list", "eenie")) 
Смежные вопросы