概述
sqoop导入操作(全)及遇到的问题
一、sqoop 全量导入
1、mysql->hive
(1)语句总结:
sqoop import --connect jdbc:mysql://$hostname:$port/$datebase_name #mysql数据库的连接
--username *** --password ***
--table $table_name #这里指mysql的表名
#--query "sel.. where 条件 and $CONDITIONS" #如果条件抽取的话用这个条件,最后的conditions一定要带
-m 1 #-m 1 表示启动一个MR程序(默认是4个)
#--split-by id #数据切片字段,m>1时必须指定
--delete-target-dir
--hive-drop-import-delims #删除数据中含有的默认的分隔符
#--fields-terminated-by t #这个用来指定数据行的分隔符号
#--lines-terminated-by 'n' #用来指定数据行间的分隔符
#--compression-codec lzo #用来指定数据表的压缩格式
--hive-import
--hive-overwrite
--null-string '\N' #string类型的字段如果是NULL的话替换成指定字符\N
--null-non-string '\N' #非string类型的字段如果是NULL的话替换成指定字符\N
#–hive-partition-key db #指定导入Hive的分区字段
#–hive-partition-value $database #指定导入Hive的哪个分区
--hive-table $table_name #这里是hive里面的表名
--hive-database ods #这里是hive里面的数据库名称
(2)遇到问题总结:
①mysql和hive的数据量不一样:
原因:导入的数据默认的列分隔符是'