在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

相關文章
相關標籤/搜索