5.5.4 Elasticsearch
Elasticsearch 是一个开源的、基于 Lucene 的搜索系统。
Elasticsearch 连接器会忽略我们提供的路径信息,而依赖于在 SparkContext 中设置的配置项。
Elasticsearch 的 OutputFormat 连接器也没有用到 Spark 所封装的类型,所以我们使用 saveAsHadoopDataSet 来代替,这意味着我们需要手动设置更多属性。
就输出而言,Elasticsearch 可以进行映射推断,但是偶尔会推断出不正确的数据类型。
因此如果你要存储字符串以外的数据类型,最好明确指定类型映射。
参考文档
Elasticsearch-Hadoop
Spark 可以使用 Elasticsearch-Hadoop 从 Elasticsearch 中读写数据。
Elasticsearch-Hadoop
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch-hadoop</artifactId>
<version>6.2.1</version>
</dependency>
代码
保存报错:
18/09/14 20:03:14 ERROR Utils: Aborting task
org.elasticsearch.hadoop.EsHadoopException: Could not write all entries for bulk operation [3/3]. Error sample (first [5] error messages):
failed to parse
failed to parse
failed to parse