Попытка обновить документ с помощью банкаasticsearch-hadoop и Spark.Фрейм данных извлекает документ, затем я пытаюсь обновить его, чтобы добавить дополнительные документы, используя безболезненный язык сценариев.
Это прекрасно работает:
curl -XPOST --header 'Content-Type: application/json' http://localhost:9200/walker_pandas/_doc/1/_update -d '{
"script": {
"lang": "painless",
"inline": "ctx._source.last = params.last",
"params": {
"last": "Frost"
}
}
}
Это не:
j = {
"script": {
"lang": "painless",
"inline": "ctx._source.last = params.last",
"params": {
"last": "Frost"
}
}
}
esconf={}
esconf["es.mapping.id" = 1 ]
esconf["es.nodes"] = "localhost"
esconf["es.port"] = "9200"
esconf["es.update.script.inline"] = j
esconf["es.write.operation"] = "update"
df.rdd.saveAsNewAPIHadoopFile(
path='-',
outputFormatenter code hereClass="org.elasticsearch.hadoop.mr.EsOutputFormat",
keyClass="org.apache.hadoop.io.NullWritable",
valueClass="org.elasticsearch.hadoop.mr.LinkedMapWritable",
conf=esconf)