sqoop抽取数据样例

MySQL:

import --connect jdbc:mysql://192.168.11.2:3306/bookstack?characterEncoding=utf8 --username root --password 0000 --query “select concat(document_id,’=’,markdown,’=’,content,’+++’)content from md_document_store WHERE $CONDITIONS” --target-dir /user/hive/warehouse/stg_app.db/md_document_store -delete-target-dir --split-by ‘’

import --hive-import --connect jdbc:mysql://192.168.11.2:3306/bookstack?characterEncoding=utf8 --username root --password 0000 --hive-overwrite --hive-database dl_app --hive-table l_table_1 --table table_1 -m 1 --mysql-delimiters --input-fields-terminated-by ,

Oracle

import --hive-import --connect jdbc:oracle:thin:@//localhost:1521/testdb --username bigdata --password bigdata --hive-overwrite --hive-database dl_app --hive-table l_vehicle --table APP.SYS_USER -m 1

使用参数

import --hive-import --connect ${url} --username ${username} --password ${password} --hive-overwrite --hive-database dl_lj --hive-table l_table_1 --table table_1 -m 1 --mysql-delimiters

导出

– 对于导出乱码的情况可以参考: 去掉 --direct ,注意
export --connect jdbc:mysql://localhost:3306/data?characterEncoding=utf-8&useUnicode=true --username dp --password dp --table table_1 --export-dir /user/hive/warehouse/dl_app.db/l_table_1_export --input-fields-terminated-by “,” --input-null-string “\N” --null-non-string “\N” --mysql-delimiters -m 1

执行存储过程,注意call 后面跟的是一个tab,而不是空格

eval --connect “jdbc:mysql://localhost:3306/db?characterEncoding=utf-8&useUnicode=true” --username root --password 0000 --query “CALL p_test()”

在脚本中调用sqoop,并循环执行,参数在argument中添加

#!/bin/bash
:set encoding=utf8
export PYTHON_EGG_CACHE=/root/.python-egg

startnum=$1
endnum=$2

for ((days=startnum;days<=endnum;days++))
do
 # echo ${days}
 sqoop eval  --connect "jdbc:mysql://localhost:3306/db?characterEncoding=utf-8&useUnicode=true"  --username root  --password 0000    --query  "CALL	p_test()"
done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值