蓝月亮四肖中特

about云開發

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

掃一掃,訪問微社區

about云開發 首頁 大數據 Sqoop 總結型 查看內容

Sqoop導出hive表數據測試

2019-4-3 19:10| 發布者: admin| 查看: 1| 評論: 0|原作者: 孤獨的戰神

摘要: 最近工作涉及了從hive表---》drds的數據遷移,近期做了一些簡單的測試:建表語句如下:hive單表:CREATE TABLE item_zc_test1(num_id string,dp_id string,approve_status string,title string,price string,nick str ...
最近工作涉及了從hive表---》drds的數據遷移,近期做了一些簡單的測試:
建表語句如下:
hive單表:
CREATE TABLE item_zc_test1(
num_id string,
dp_id string,
approve_status string,
title string,
price string,
nick string,
cid string,
pic_url string,
props string,
list_time string,
modified string,
delist_time string,
date_id string,
day_id string
)
row format delimited fields terminated by '\001'
stored as textfile;
hive分區表(二級分區)
CREATE TABLE item_zc_test_partition(
num_id string,
dp_id string,
approve_status string,
title string,
price string,
nick string,
cid string,
pic_url string,
props string,
list_time string,
modified string,
delist_time string
) partitioned by (date_id string,day_id string)
row format delimited fields terminated by '\001'
stored as textfile;
drds建表語句:
1)單表:
create table item_zc_test1 ( num_id varchar(100), dp_id varchar(100), approve_status varchar(100), title varchar(100), price varchar(100), nick varchar(100), cid varchar(100), pic_url varchar(200), props varchar(400), list_time varchar(100), modified varchar(100), delist_time varchar(100), date_id varchar(50), day_id varchar(50), primary key(num_id) );
2)分庫不分表
create table item_zc_test ( num_id varchar(100), dp_id varchar(100), approve_status varchar(100), title varchar(100), price varchar(100), nick varchar(100), cid varchar(100), pic_url varchar(200), props varchar(400), list_time varchar(100), modified varchar(100), delist_time varchar(100), date_id varchar(50), day_id varchar(50), primary key(num_id) ) dbpartition by hash(num_id);
3)分庫分表
create table item_zc_test2 ( num_id varchar(100), dp_id varchar(100), approve_status varchar(100), title varchar(100), price varchar(100), nick varchar(100), cid varchar(100), pic_url varchar(200), props varchar(400), list_time varchar(100), modified varchar(100), delist_time varchar(100), date_id varchar(50), day_id varchar(50), primary key(num_id) ) dbpartition by hash(num_id) tbpartition by hash(dp_id) tbpartitions 3;
1、hive單表---》drds單表
sqoop腳本:
sqoop export \
--connect jdbc:mysql://xxxx/xx \
--username xxxx \
--password xx \
--table item_zc_test1 \
--export-dir /user/hive/warehouse/item_zc_test1\
--input-fields-terminated-by '\001' \
--num-mappers 1
驗證結果:通過sqoop可以正常的將hdfs文件中的數據導入到drds中
2、hive單表---》drds分庫不分表
sqoop腳本:
sqoop export \
--connect jdbc:mysql://xxxx/xx \
--username xxxx \
--password xx \
--table item_zc_test \
--export-dir /user/hive/warehouse/item_zc_test1 \
--input-fields-terminated-by '\001' \
--num-mappers 1
驗證結果:通過sqoop可以正常的將hdfs文件中的數據導入到drds中
3、hive單表---》drds分庫分表
注意:如果drds是分庫分表情況下,如果在按照上述腳本進行數據遷移,腳本執行會報錯,對腳本修改如下(指定相應的字段):
sqoop export \
--connect jdbc:mysql://xxxx/xx \
--username xxxx \
--password xx \
--table item_zc_test2 \
--columns "num_id,dp_id,approve_status,title,price,nick,cid,pic_url,props,list_time,modified,delist_time,date_id,day_id" \
--export-dir /user/hive/warehouse/item_zc_test1 \
--input-fields-terminated-by '\001' \
--num-mappers 5
4、下面介紹hive分區表導出數據到drds
默認sqoop官方參數說明:導出hive分區表數據只支持hive單表和hive一級分區表(腳本如下):

sqoop export   \

--connect jdbc:mysql://xxxx/xx \

--username xxxx \

--password xx \

--table table \

--hive-partition-key pk \ // 指定一級分區字段

--hive-partition-value ‘pv’ \ // 指定分區值

--export-dir /user/hive/warehouse/table/pk=pv/  \

--input-fields-terminated-by '\001'   \

--input-lines-terminated-by '\n'

hive多級分區表sqoop導出方案,建議以創建中間臨時表的方式進行數據導出。

參考鏈接:https://stackoverflow.com/questions/33100799/sqoop-export-the-partitioned-hive-table









鮮花

握手

雷人

路過

雞蛋

相關分類

關閉

推薦上一條 /3 下一條

QQ|小黑屋|about云開發-學問論壇|社區 ( 京ICP備12023829號

GMT+8, 2019-4-3 19:10 , Processed in 0.393296 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2 Licensed

返回頂部
蓝月亮四肖中特 融丰配资 益丰配资 邮政理财产品有风险吗 股票配资 大赢家配资 福州股票配资·杨方配资专业 众城速配 股票行情软件有一天的数据不显示 线上期货配资违法吗 2019投资理财平台