mysql数据导入hive

利用 sqoop 将线上mysql表导入hive的模板代码如下:

 

 source /etc/profile;
    sudo -uflightdev sqoop import  \
    --connect jdbc:mysql://127.0.0.1:3306/%(mysql_db)s?tinyInt1isBit=false  \
    --username XXX  \
    --password XXX  \
    --table %(mysql_table)s  \
    --columns %(columns)s  \
    --where " %(update_key)s>='%(start_date)s' AND %(update_key)s<='%(end_date)s' "  \
    --hive-import  \
    --hive-overwrite  \
    --hive-partition-key dt  \
    --hive-partition-value %(yesterday)s  \
    --hive-table f_fuwu.%(hive_table)s  \
    --hive-drop-import-delims  \
    --fields-terminated-by '%(fields_terminated)s'  \
    --lines-terminated-by '\n'  \
    --null-string '\\\\N'  \
    --null-non-string '\\\\N'  \
    -m 6
  ''' % {'mysql_db': argv_dict['mysql_db'], 'mysql_table': argv_dict['mysql_table'],
         'columns': argv_dict['columns'], 'hive_table': argv_dict['hive_table'],
         'update_key': argv_dict['update_key'],
         'start_date': argv_dict['start_date'], 'end_date': argv_dict['end_date'],
         'yesterday': argv_dict['yesterday'], 'fields_terminated': argv_dict['fields_terminated']}
run_shell(sqoop_cmd)

最后run_shell(sqoop_cmd)执行脚本。

以上:mysql_table表示要导入的mysql表名,hive_table表示要导入的hive表,dt是分区字段,columns表示要导入的列,update_key表示抽取字段。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值