我的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_no
,birth_date
和first_name
。
我的表格中有3列,但--columns
sqoop export
没有找到我要跳过的列
答案 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源的第二列绑定,依此类推。