我的 HDFS 文件包含 5 列。
emp_no,birth_date,first_name,last_name,hire_date
Run Code Online (Sandbox Code Playgroud)
我想导出它只有 3 列:
emp_no,first_name,last_name
Run Code Online (Sandbox Code Playgroud)
我正在做
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
Run Code Online (Sandbox Code Playgroud)
但是我得到emp_no,birth_date并且first_name在 MySQL 表中。
我得到我的表3列,但一个专栏中,我想跳过不与发生--columns的sqoop export
我解决了我的问题。实际上我误解了选项 --columns 用于导出。
使用 --columns 导出选项,我们可以选择列的子集或控制表列(或目标,例如 mysql 列)而不是 HDFS 列的顺序。
此选项决定 HDFS 源列与目标表的 --columns 选项中提到的列的绑定。
例如,如果我在 sqoop 命令中提到 --columns "col2,col3,col1" 其中 col1,col2,col3 是 mysql 表的列
然后它将 col2 与 HDFS 源的第一列绑定,col3 与 HDFS 源的第二列绑定,依此类推。
| 归档时间: |
|
| 查看次数: |
2493 次 |
| 最近记录: |