将 ES 中的数据导入 HIVE 操作记录


1. 环境设置

# 设置允许动态分区
set hive.exec.dynamic.partition.mode=nonstrict;

# 切换库
use stage;

# 添加依赖 jar
add jar hdfs://node1:8020/lib/hive/elasticsearch-hadoop-6.1.1.jar;

2. 建ES 源数据表

-- 1.es数据源表
drop TABLE if exists stage.es_action_activitypar;

CREATE EXTERNAL TABLE stage.es_action_activitypar(
log_ip string,
current_time string,
version string,
device_id string,
subscriber_id string,
user_id string,
)
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
TBLPROPERTIES('es.resource' = '$es_resource','es.nodes'='esn1,esn2,esn3','es.port'='9200','es.mapping.date.rich' = 'false');

3. 创建Hive 数据表

-- 2.hdfs原始数据源表
drop table if exists stage.stage_action_activitypar;

CREATE EXTERNAL TABLE stage.stage_action_activitypar(
log_ip string,
current_time string,
version string,
device_id string,
subscriber_id string,
user_id string,
)
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY '|' 
STORED AS  textfile
LOCATION '/raw/rawdata/backendlog/market/activityPartakeLog/$day_dir';

4. 导入数据

insert overwrite table stage.stage_action_activitypar
select
log_ip,
current_time,
version,
device_id,
subscriber_id,
user_id
from stage.es_action_activitypar;

文章作者: hnbian
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 hnbian !
评论
 上一篇
Apache Spark 2.0中 DataFrames 和 SQL Apache Spark 2.0中 DataFrames 和 SQL
Spark 2.0开发的一个动机是让它可以触及更广泛的受众,特别是缺乏编程技能但可能非常熟悉SQL的数据分析师或业务分析师。因此,Spark 2.0现在比以往更易使用。在这部分,我将介绍如何使用Apache Spark 2.0。并将重点关注
2018-09-06
下一篇 
Spark SQL 6.资源动态划分 Spark SQL 6.资源动态划分
1. spark的动态资源划分 动态资源划分,是指在spark当中用于对计算的时候资源,如果不够或者资源剩余的情况下进行动态的资源划分,以求资源的利用率达到最大 Spark中的资源单位一般指的是executors,和Yarn中的Conta
2018-06-23
  目录