我正在使用Spark Elasticsearch连接器,并且想要从ES中提取一些字段以及_id。
myquery = """{"query":..., """
val df = spark.read.format("org.elasticsearch.spark.sql")
.option("query", myquery)
.option("pushdown", "true")
.load("myindex/mytype")
.limit(10)
.select("myfield","_id")
很遗憾,_id字段未被识别:
AnalysisException: u'cannot resolve \'`_id`\' given input columns:
[query, size, @version, @timestamp,
sourceinfo, signaletic, document, metadata, fields, aggs]
使用这个映射,我可以选择例如document.{fieldA}、sourceinfo.{fieldB}等,但不能选取_id。就像它在映射中处于一个过高的级别一样。
你有什么办法可以获取这个特定的字段吗?