elasticsearch + hive环境搭建
一、环境介绍:
elasticsearch:2.3.1
hive:0.12
二、环境搭建
2.1 首先获取elasticsearc-hadoop的jar包
链接地址:http://jcenter.bintray.com/org/elasticsearch/elasticsearch-hadoop/2.3.1/elasticsearch-hadoop-2.3.1.jar,下载即可。需要说明的是你的elasticsearch什么版本,那么elasticsearch-hadoop的jar包就什么版本,否则后果难料
2.2 hive集成elasticsearch
将elasticsearch-hadoop-2.3.1.jar拷贝到hive的默认lib目录即可。我的目录是:$HIVE_HOME/auxlib目录
启动hive,查看效果:
/home/q/java/default/bin/java -Xmx256m -Djava.net.preferIPv4Stack=true *** -hiveconf hive.aux.jars.path=file:///home/q/hive/hive-0.12.0-bin/auxlib/elasticsearch-hadoop-2.0.1.jar
只要包含了上面的红色部分说明集成成功
三、插入数据
3.1 建立数据表
3.1.1 建立view表
CREATE EXTERNAL TABLE user (id INT, name STRING) STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' TBLPROPERTIES('es.resource' = 'radiott/artiststt','es.index.auto.create' = 'true','es.nodes' = 'elastisticsearch.*.qunar.com','es.port' = '9222');
有几个参数,es.nodes是配置的es的url地址,默认是localhost。es.port是端口号码,默认是9200
3.1.2 建立数据表
CREATE TABLE user_source (id INT, name STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
3.2 加载数据
3.2.1 加载基础数据
数据示例,我放在/tmp/user_source.log
1,medcl 2,lcdem 3,tom 4,jack
加载到user_source表,命令如下:LOAD DATA LOCAL INPATH '/tmp/user_source.log' OVERWRITE INTO TABLE user_source;
3.2.2 加载到es
INSERT OVERWRITE TABLE user SELECT s.id, s.name FROM user_source s;
查看效果:
四、参考文档:
http://blog.csdn.net/sunflower_cao/article/details/39896189
https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html#_essential_settings
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决