歡迎來到魔據教育大數據學院,專注大數據工程師培養!
當前位置:首頁 > 學習資料 > 講師博文 > Hive和ElasticSearch整合文檔

Hive和ElasticSearch整合文檔

時間:2017-08-16 09:06:57作者:[!--zuozhe--]

 

  • 下載elasticsearch-hadoop-vetsion.jar包,上傳到hive的安裝目錄的lib目錄下,注意
  • 版本一定要和相應的elasticsearch的版本一致
  • 切換到hive用戶,執行$hive --auxpath=/path/lib/elasticsearch-hadoop.jar 或者修改hive-site.xml配置文件,如下:
<property>
          <name>hive.aux.jars.path</name>
          <value>/path/elasticsearch-hadoop.jar</value>
          <description>A comma separated list (with no spaces) of the jar files</description>
</property> 

  • 進入hive腳本界面中建表

1.首先你得告訴es這個表是ElasticSearch支持的:

建立view表是
CREATEEXTERNALTABLEuser(idBIGINT, nameSTRING) STOREDBY'org.elasticsearch.hadoop.hive.EsStorageHandler' TBLPROPERTIES('es.resource' = 'radio/artists','es.index.auto.create' = 'true');
如果無法插入數據請執行下面命令指定es端口和ip
CREATEEXTERNALTABLEuser(idBIGINT, nameSTRING) STOREDBY'org.elasticsearch.hadoop.hive.EsStorageHandler' TBLPROPERTIES('es.resource' = 'radio/artists','es.index.auto.create' = 'true','es.nodes'='192.168.1.88','es.port'='9200');
es.resourceradiott/artiststt分別是索引名和索引的類型,這個是在es訪問數據時候使用的。

2.然后建立源數據表:

CREATETABLE user_source (idINT, nameSTRING) ROWFORMATDELIMITEDFIELDSTERMINATEDBY',';
將數據導入到user_source表中:
LOADDATALOCAL INPATH '/home/steven/data.txt' OVERWRITE INTOTABLE user_source;
  • 建立好表之后推出hive腳本,然后上傳elasticsearch-hadoop.jarhdfs的一個目錄下
hadoop fs -put /root/hive/lib/elasticsearch-hadoop-2.0.2.jar /tmp/elasticsearch-hadoop-2.0.2.jar加載到hdfs
  • 然后重新以以下命令進入hive
hive -hiveconf hive.aux.jars.path=/tmp/elasticsearch-hadoop-2.0.2.jar
  • 然后進入到相應的數據庫下,向索引表中(view)中插入數據
INSERT OVERWRITE TABLEuserSELECT s.id, s.nameFROM user_source s;

到此整合完成


更多大數據相關資訊敬請關注魔據教育,為您分享最及時的大數據資訊。
學習大數據敬請關注魔據教育微信二維碼。
魔據教育微信二維碼

【版權與免責聲明】如發現內容存在版權問題,煩請提供相關信息發郵件至[email protected],我們將及時溝通與處理。本站內容除非來源注明魔據教育,否則均為網友轉載,涉及言論、版權與本站無關。

全國咨詢熱線:18501996998,值班手機:18501996998(7*24小時)

在線咨詢:張老師QQ 320169340

企業合作服務專線:010-82340234-821, 院校合作洽談專線:010-82340234

Copyright 2001-2019 魔據教育 - 北京華育興業科技有限公司 版權所有,京ICP備17018991號-2

免費在線咨詢立即咨詢

免費索取技術資料立即索取

大數據技術交流QQ:226594285

電話咨詢010-82340234

六合图库118万众图库