• 业务需求: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;
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐