java在线学习-Hadoop读写Elasticsearch
使用Hadoop操作Elasticsearch的方法,关键是指定InputFormatClass : EsInputFormat.classOutputFormatClass:EsOutputFormat.class,这个好像是ES官方提供的集成包。网上查了相关资料貌似挺少的。直接用一个例子来看如何使用了,java实现。例子:通过Map/Reduce将yy/test中sample值为2的数据移到javaman/yy中
1、在Elasticsearch中建一些测试数据吧yy/test中总共14条数据,sample=2的有7条数据
2、导入jar包
3、设置ES节点信息:getConf().set(ConfigurationOpti .ES_NODES, C tant.ES_NODES);指定index和type:getConf().set(ConfigurationOpti .ES_RESOURCE, args[0]);如果对一个index操作这里直接这样写就可以了,如果读写不同index就需要分别指定了:getConf().set(“es.resource.read”, args[0]);getConf().set(“es.resource.write”, args[1]);查询条件:getConf().set(ConfigurationOpti .ES_QUERY, “?q=sample:2”);
4、写Map/RedueceEsOutputFormat没有使用这里的key作为id,所以这里的key是没有用的,随便写啥都行。。。
5、直接运行查看下结果成功将7条记录复制到了javaman中了。这时候id是ES自动生成的,如何我们自己指定id呢?
6、使用指定属性的值来作为id,我这里测试就用timestamp吧。使用中用你的值唯一的可以作为主键的属 可以的。getConf().set(“ConfigurationOpti .ES_MAPPING_ID”, “timestamp”);也可以在reduce中在MapWritable中添加唯一属性也是可以的。
7、删除javaman的index,重新运行看下结果吧新的index中的id和timestamp值一致。OK,这里主要时对ES的读写,后面把操作MongoDB、Mysql。。也简单整理下,也方便时间久了之后查看。
尽管java在线学习资料已经分享给大家,但有多少人能认真的去践行,这个就难说了。互联网寒冬已经到来,作为程序员,更应在此时提高自己,有着更高远的追求。
篇幅有限,如果需要更详细的java在线学习资料可加博主扣:1993712276,或者去源码官网查看
- java在线学习-docker如何安装ElasticSearch
- Java IO学习基础之读写文本文件
- Java新手编程中心-在线学习
- hadoop学习笔记4:java实现hdfs -ls/-lsr
- [学习笔记]Java 中对文件的读写操作之比较
- 【java学习】Jni在hadoop上的使用(下)
- nutch-1.7-学习笔记(2)-org.apache.nutch.crawl.Generator.java-关于Hadoop的partition
- Hadoop HDFS (3) JAVA訪问HDFS之二 文件分布式读写策略
- Java IO学习基础之读写文本文件
- Hadoop学习总结之二:HDFS读写过程解析
- 【Java学习笔记】控制台读写
- Hadoop总结:在java中使用FileSystem的api读写数据(能力工场--小马哥原创)
- Hadoop中文件读写(Java)
- 在线学习Java免费资源推荐
- Java并发编程实践(Java concurrency in practice)在线示例学习
- 一步一步跟我学习hadoop(6)----hadoop利用FileSystem API 执行hadoop文件读写操作
- Java IO学习基础之读写文本文-Java基础-Java-编程开发
- Hadoop学习总结之二:HDFS读写过程解析
- JAVA视频全套在线学习
- java学习:文件读写