sqoop 脚本说明

$sqoop import \

--connect jdbc:mysql://hadoop102:3306/gmall \ #连接的关系型数据库,

--username root \ #上面数据库的用户

--password 000000 \ #密码

--target-dir /origin_data/gmall/db/$1/$do_date \ #要写入的hdfs路径

--delete-target-dir \ #写入之前先把路径删掉,不然会无法写;

--query "$2 and  \$CONDITIONS" \  #sql 语句,查询语句写明需要导入的字段和过滤条件,过滤条件不可以省,没有也要写where 1=1,$CONDITIONS 是切片用的,设置多个mappers,涉及到切片,系统自动补充过滤条件;

--num-mappers 1 \  设置mapper的个数,sqoop的底层原理就是map 阶段,为啥不需要reduce,因为不涉及到聚合,读过来,写进去就完事了

--fields-terminated-by '\t' \ # 存储到hdfs文件的分隔符,

--compress \ 是否压缩

--compression-codec lzop \ #压缩格式,

--null-string '\\N' \  #关系型数据库的string类型null值再hdfs中如何存储,不设置的话,where 条件 = null 会失效;

--null-non-string '\\N' # 同上,非string类型的null值如何对应转换;

posted @ 2021-03-30 22:22  吹牛之前打草稿  阅读(424)  评论(0)    收藏  举报