从hdfs到mysql的Sqoop Export特定列无法正常工作

时间:2016-03-23 23:36:35

标签: sqoop

我的HDFS文件包含5列。

emp_no,birth_date,first_name,last_name,hire_date

我想只用3列导出它:

emp_no,first_name,last_name

我是用

做的
sqoop export
  --connect jdbc:mysql://mysql.example.com/sqoop
  --username sqoop
  --password sqoop
  --table employees
  --columns "emp_no,first_name,last_name"
  --export-dir /user/dataset/employees

但我在MySQL表格中收到emp_nobirth_datefirst_name

我的表格中有3列,但--columns

sqoop export没有找到我要跳过的列

1 个答案:

答案 0 :(得分:4)

我解决了我的问题。实际上我误解了选项--columns for export。

使用--columns选项进行导出,我们可以选择列的子集或控制表列(或目标,例如mysql列)的排序,而不是HDFS列。

此选项决定HDFS源列与目标表的--columns选项中提到的列的绑定。

e.g。如果我提到--columns" col2,col3,col1"在sqoop命令中 其中col1,col2,col3是mysql表的列

然后它将col2与HDFS源的第一列绑定,col3与HDFS源的第二列绑定,依此类推。