在Hive中读取Json格式数据

若是有时候遇到数据源是json的格式(好比直接读取mongoDB的数据), hive解析就要麻烦一点, 主要有如下2种方法:apache

一、将json以字符串的方式整个入Hive表,而后使用LATERAL VIEW json_tuple的方法(至关于生成json串的模型),获取所须要的列名。 这种方法仍是比较麻烦,尤为是字段多的时候, 第二种方法用起来更方便.json

二、使用第三方的SerDe将json拆成各个字段入Hive表里, 我使用的是hive1.2.1能够正常使用, 下载地址:http://download.csdn.net/download/ls386239766/8662797bash

# 添加jar包
hive> add jar /usr/local/hive/lib/json-serde-1.3-jar-with-dependencies.jar;
hive> 

# 建立hive表
CREATE TABLE test_json
(
    id BIGINT,
    text STRING,
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.JsonSerde'
STORED AS TEXTFILE
;

LOAD DATA LOCAL INPATH "test.json" OVERWRITE INTO TABLE test_json;

若是以为每次运行都要加载这个jar包比较麻烦, 能够把jar包路径添加到hive-env.sh里.oop

相关文章
相关标签/搜索