sqoop导入数据到hive已存的ORC表

  • 业务需求:sqoop从mysql导入数据到hive的orc表
    脚本内容如下:
#!/bin/bash
sqoop import \
"-Dorg.apache.sqoop.splitter.allow_text_splitter=true" \
--connect jdbc:mysql://hdp1.jin:3306/db_test \
--username root \
--password hadoop \
--table t_user \
--hcatalog-database db_tmptable \ #直接加上库名和表名即可
--hcatalog-table t_user_tmp \
--null-string '\\N' \
--null-non-string '\\N' \
-m1

这样就可以将数据导入到hive的orc表.

  • 业务需求二:将数据以全量形式导入到hive的orc格式动态分区表
    脚本内容如下:
#!/bin/bash
sqoop import \
"-Dorg.apache.sqoop.splitter.allow_text_splitter=true" \
--connect jdbc:mysql://hdp1.jin:3306/db_test \
--username root \
--password hadoop \
--table t_user \
--drop-and-create-hcatalog-table \ #如果表存在就删除,保证数据不会重复
--hcatalog-table t_user_tmp \
--hcatalog-database db_tmptable
--hcatalog-storage-stanza 'stored as orc tblproperties ("orc.compress"="SNAPPY")'
--null-string '\\N' \
--null-non-string '\\N' \
-m1
hive <<EOF
INSERT OVERWRITE TABLE db_test.t_user #t_user动态分区表
SELECT * FROM db_tmptable.t_user_tmp;
EOF
exit;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值