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值如何对应转换;

浙公网安备 33010602011771号