Как отфильтровать PySpark SQL-фрейм данных, считанный из Elasticsearch, по полю метаданных (например, _id)? - PullRequest
1 голос
/ 05 июня 2019

Я читаю PySpark SQL Dataframe из индекса Elasticsearch с опцией чтения es.read.metadata=True.Я хочу отфильтровать данные по условию в поле метаданных, но получить пустой результат, хотя результат должен быть.Возможно ли получить реальный результат?

Я получил результат, когда использовал limit на фрейме данных, даже с очень большим числом, даже большим, чем размер фрейма.

ВКроме того, я получил результат при использовании другого, не _metadata связанного поля.

, например:

df.where(df._metadata._score > 1.0).select(df._metadata._id).show()

результат пустой:

+--------------+
|_metadata[_id]|
+--------------+
+--------------+

Но когдаиспользуя limit:

df.limit(1000000).where(df._metadata._score > 1.0).select(df._metadata._id).show()

результат не пустой:

+--------------------+
|      _metadata[_id]|
+--------------------+
|cICqm2gBHl8Vy6RZyu_L|
+--------------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...