Я читаю 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|
+--------------------+