Sqoop 将特定列从 hdfs 导出到 mysql 无法正常工作

Sqoop Export specific columns from hdfs to mysql is not working properly

我的 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 table.

中得到 emp_nobirth_datefirst_name

我的 table 中有 3 列,但我想跳过的一列在 sqoop export

中没有出现 --columns

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

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

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

例如如果我在 sqoop 命令中提到 --columns "col2,col3,col1" 其中 col1、col2、col3 是 mysql table 的列

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