当前位置:Gxlcms > 数据库问题 > sqoop Mysql 导入到hdfs、hive

sqoop Mysql 导入到hdfs、hive

时间:2021-07-01 10:21:17 帮助过:4人阅读


$ sqoop import --connect jdbc:mysql://IP:PORT/ --username USER --password ‘PASSWD‘ --table T_SQOOP_TEST --where "$conditions" --target-dir ‘mydir‘ --delete-target-dir


##SqlServer作为元数据
$ sqoop import --connect ‘jdbc:sqlserver://IP:1433;username=NAME;password=PWD;database=DataName‘ --table T_SQOOP_TEST --where “$conditions” --target-dir ‘mydir‘ --delete-target-dir

###导入到hive

在导入命令中添加--hive-import参数则将数据导入到hive中
$ sqoop import --hive-import --connect jdbc:mysql://IP:PORT/ --username USER --password ‘PASSWD‘ --table T_SQOOP_TEST --m 1--target-dir ‘mydir‘ --delete-target-dir
参数说明:

参数名

参数说明

--hive-import 数据导入到Hive
--hive-overwrite 覆盖Hive表中已存在的数据
--create-hive-table 设置了此参数,导入时如果hive中表已经存在,则导入任务失败。默认为false
--hive-table <table-name> 指定导入到Hive中的表名
--hive-drop-import-delims 导入Hive时,去除字符型字段中的\n(换行符),\r(回车符)和\01(标题开始符)字符。
--hive-delims-replacement 导入Hive时,用用户定义的字符串替换字符型字段中的\n,\r和\01字符。
  导入时需要注意: 1)Hive默认使用\01字符作为列分隔符(字段分隔符),\n和\r作为行分隔符。因此,如果导入的字符型字段的数据中包含这些字符时,就会有问题。 如:T_SQOOP_TEST表ID为2的行,NAME字段值中包含换行符,导入到Hive中,数据出现异常: 可以使用--hive-drop-import-delims参数,将导入数据中的\n,\r,\01字符去掉。也可以使用--hive-delims-replacement替换\n,\r和\01。

 

sqoop Mysql 导入到hdfs、hive

标签:oda   ado   官网   连接   head   map   targe   pwd   数字   

人气教程排行