Hive sqoop导入到配置单元
第一命令:Hive sqoop导入到配置单元,hive,sqoop,Hive,Sqoop,第一命令: sqoop import \ –connect “jdbc:mysql://quickstart.cloudera:3306/retail_db” \ –username retail_dba \ –password cloudera \ –table departments \ –hive-home /user/hive/warehouse \ –hive-import \ –hive-overwrite \ –hive-table sqoop_import.departments
sqoop import \
–connect “jdbc:mysql://quickstart.cloudera:3306/retail_db” \
–username retail_dba \
–password cloudera \
–table departments \
–hive-home /user/hive/warehouse \
–hive-import \
–hive-overwrite \
–hive-table sqoop_import.departments \
–outdir java_files
第二命令:
sqoop import \
–connect “jdbc:mysql://quickstart.cloudera:3306/retail_db” \
–username retail_dba \
–password cloudera \
–table departments \
–target-dir=/user/hive/warehouse/department_test \
–append
在这两个命令中,我们都在配置单元中创建表,而不指定字段和行分隔符,并使用sqoop导入,那么为什么在第二种情况下,我们得到的是Null,而在第一种情况下,我们没有得到配置单元的默认分隔符
- 字段:
CTRL+A
- 行:
\n
--hive table
中提到的表(如果不存在)
案例2:HDFS导入
在这种情况下,来自RDBMS的数据存储为、
字段分隔符和\n
行分隔符(默认值),这不是配置单元的默认分隔符。这就是为什么您的数据中会出现空条目
您可以使用两种方法解决此问题:
- 更改配置单元表的字段分隔符
- 在导入命令中使用以结尾的字段
--target dir
。第二,获取空数据什么?当我访问hive中的表department_test时为空数据在第二种情况下,您正在使用/user/hive/warehouse/department_test
位置创建表?