使用hive访问elasticsearch的数据

摘要:
将配置单元表中的int更改为bigint。

使用hive访问elasticsearch的数据

1.配置
将elasticsearch-hadoop-2.1.1.jar拷贝到hive/lib

hive -hiveconf hive.aux.jars.path=/usr/local/hive-1.2.1/lib/elasticsearch-hadoop-2.1.1.jar

或者配置:
hive-site.xml

<property>
  <name>hive.aux.jars.path</name>
  <value>file:///usr/local/hive-1.2.1/lib/elasticsearch-hadoop-2.1.1.jar</value>
  <description>A comma separated list (with no spaces) of the jar files</description>
</property>

2.创建外表

CREATE EXTERNAL TABLE achi_ex(
vid string,
dtime timestamp,
platid bigint)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘ ’
LINES TERMINATED BY ‘ ’
STORED BY ‘org.elasticsearch.hadoop.hive.EsStorageHandler’
TBLPROPERTIES(‘es.resource’ = ‘db_1/achi’,
‘es.index.auto.create’ = ‘true’);

*hive 中的timestamp和ES中的date相互映射

3.导入数据
insert overwrite table achi_ex select * from achi;

4.测试

select * from achi_ex limit 10;

错误:

Failed with exception java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.IntWritable

hive表中field类型为int时,映射到es中变成long,所以会报此错误。将hive表中int改为bigint即可。

CREATE EXTERNAL TABLE achi_ex(
vid string,
dtime timestamp,
platid bigint)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘ ’
LINES TERMINATED BY ‘ ’
STORED BY ‘org.elasticsearch.hadoop.hive.EsStorageHandler’
TBLPROPERTIES(‘es.resource’ = ‘db_1/achi’,
‘es.mapping.names’ = ‘vid:vID,dtime:dTime,platid:PlatID
‘);

免责声明:文章转载自《使用hive访问elasticsearch的数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Vagrant在win7/win10系统下搭建使用手把手带你使用360度评估系统实施绩效反馈全流程(附详细图文)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vertica在电信的应用

本文介绍了什么 ´电信级大数据分析典型需求 ´Vertica数据库特点及与其他数据库对比 ´Vertica核心技术介绍 ´基于Vertica的典型分系统架构简介 电信级大数据分析典型需求´海量数据存储:年分析数据量达到PB级 Counter数据:各网元收集的统计数据,可用于监控和测量网络性能 MR详单:即手机向网络上报的无线性能测量报告,反映了用户实时...

后台返回的json数据传到前端页面并在页面的表格中填充

web前端页面: <table cellpadding="1" cellspacing="0" border="1"><caption align="top">流程管理</caption><thead> <tr> <th>流程ID</th> <th>流程名称&l...

【Hadoop系列】linux SSH原理解析

本文中斜体加粗代表shell指令,操作环境 CentOS6.5 linux root免密码登录链接:【Hadoop系列】linux下 root用户免密码登录远程主机 ssh。 linux 非root用户免密码登录:XXXXXXX(暂未写好) Linux下,使用ssh协议登录远程计算机。让我们先来了解下什么是SSH。 一、什么是SSH?简单说,SSH是一种网...

mysql中的data下的数据文件(.FRM、.MYD、.MYI)恢复为数据

记一次mysql中的data文件操作经历 想拿到一个项目的最新的数据,做功能升级使用,备份一份数据同时也作为本地测试数据,文件有些大,我直接通过远程的phpmyadmin程序导出,不能愉快的玩耍,直接联系了IDC的同事帮忙导一份sql文件出来一下,结果那哥们没得直接扔给了我data文件,这让我如何是好,这个问题我没遇见过啊。处于面子问题,又不好意思再让他重...

Elasticsearch之插件介绍及安装

ES站点插件(以网页形式展现)   1、BigDesk Plugin (作者 Lukáš Vlček)     简介:监控es状态的插件,推荐!【目前不支持2.x】   2、Elasticsearch Head Plugin (作者 Ben Birch) (主要)     简介:很方便对es进行各种操作的客户端。   3、kopf Plugin(作者lme...

kibana数据操作

1.创建索引 # 语法: PUT /<index> # 示例: PUT /laowang PUT xiaowang 2.创建数据 # 语法 PUT /<index>/_doc/<_id> POST /<index>/_doc/ PUT /<index>/_create/<_id>...