我正在从 Elasticsearch 索引中读取 PySpark SQL Dataframe,读取选项为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|
+--------------------+