我试图通过python将数据从ElasticSearch读取到Apache Spark。
以下是从官方文件中复制的代码。
$ ./bin/pyspark --driver-class-path=/path/to/elasticsearch-hadoop.jar
conf = {"es.resource" : "index/type"}
rdd = sc.newAPIHadoopRDD("org.elasticsearch.hadoop.mr.EsInputFormat", "org.apache.hadoop.io.NullWritable", "org.elasticsearch.hadoop.mr.LinkedMapWritable", conf=conf)
rdd.first()
以上可以从相应的索引中读取数据,但它正在读取整个索引。
您能告诉我如何使用查询来限制读取范围吗?
另外,我没有找到关于此问题的文档。例如,似乎conf dict控制读取范围,但ES文档只是说它是一个Hadoop配置,仅此而已。我去Hadoop配置没有找到关于ES的相应密钥和值。你知道一些更好的文章吗?
答案 0 :(得分:2)