spark读取es java_使用Spark对ElasticSearch进行读取

本文介绍了如何利用Elasticsearch-Hadoop库在Spark上读取Elasticsearch的数据。首先,通过添加相关jar包并启动spark-shell,然后设置序列化工具。接着,展示读取Elasticsearch数据的步骤,包括指定索引和过滤查询。最后,提到了写入数据到Elasticsearch的简单操作,并列举了一些关键配置选项。
摘要由CSDN通过智能技术生成

ElasticSearch for Apache Hadoop是ES提供的工具库,让Hadoop、Pig、Hive等可以比较原生的方式去和ES交互。

目前提供了mapreduce、hive、pig、cascading、spark、storm的集成。

下面以Spark为例,演示如何利用这个工具库去读取ES记录

安装

我使用的是spark-shell交互式环境进行的测试,所以需要手动下载elasticsearch-hadoop的jar包。

在maven项目中可以通过添加

org.elasticsearchelasticsearch-hadoop2.1.0.Beta3

这是包含了所有支持的jar包,也可以下载单独的spark支持包。

对于Spark,还需要下载Kryo,来替代Spark自带的序列化包。

最后elasticsearch-hadoop只支持Java 1.7以上版本,所以需要看看Java环境是否匹配。

启动spark-shell时,使用以下命令加载特定jar包

./bin/spark-shell -jars ./elasticsearch-hadoop-2.1.0.Beta3.jar;./kryo-3.0.0/jar

指定序列化工具

import com.esotericsoftware.kryo.KryoSerializableimport org.apache.spark.SparkConfval conf = new SparkConf()conf.set("spark.serializer", classOf[KryoSerializer].getName)

读取

import org.apache.hadoop.conf.Configurationimport org.elastics

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值