关系型数据库导出至Hive仓库脚本

6 篇文章 0 订阅

业务场景:

工作中经常需要将关系型数据库(Oracle、MySQL)中的表导入到hive中进行大数据运算,故编写快捷的脚本实现,脚本名为:RDBtoHive.sh。

实际案例:

将Oracle中表tbl_o_test 数据导入到hive 的表  tbl_h_test 中,这里表  tbl_h_test 的结构及字段顺序同表tbl_o_test  一致,注意字段类型可以不一致,但是字段顺序需一致,以便数据准确导入。

脚本内容如下:

#!/bin/sh

#mapred queue name
queueName=queue01

#Hive target table
hive_table_name=tbl_h_test


#RDB config
rdb_connection=jdbc:mysql://IP:端口/dbname
rdb_username=用户名
rdb_password=名字


#RDB table and columns
rdb_table=tbl_o_test 
rdb_table_columns=ID,NAME,AGE


#RDB config example
#oracle connection config
#rdb_connection=jdbc:oracle:thin:@IP:端口:dbname
# mysql connection config
#rdb_connection=jdbc:mysql://IP:端口/dbname


#sqoop shell
sqoop import -D mapred.job.queue.name=${queueName} \
--connect  ${rdb_connection} \
--username ${rdb_username} \
--password ${rdb_password} \
--table ${rdb_table} \
--columns ${rdb_table_columns} \
-m 1 \
--fields-terminated-by '\001' \
--lines-terminated-by '\n' \
--hive-drop-import-delims \
--null-string '\\N' \
--null-non-string '\\N' \
--hive-import \
--hive-overwrite \
--hive-table ${hive_table_name};

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值