Sqoop 导出不支持 --columns 参数

Sqoop export is not honoring the --columns argument

我有一个 sqoop 作业,我只想将 3 列从 HIVE table 导出到只有这 3 个字段的 mysql table。

export --connect <table> --username <U> --password <p>
--table target --columns "col1,col2,col3" --export-dir /path/to/source/table

请注意,在配置单元中,col1、col2、col3 之间有一些字段 table。

抛出的错误是 IllegalArgumentException,因为 Sqoop 正在解析配置单元 table 中 col1 和 col2 之间的字符串字段,我明确试图忽略并尝试存储它作为时间戳。

如有任何建议,我们将不胜感激!

您遇到了麻烦,因为 --columns 不是您想要做的事情。

使用 sqoop 导出数据时,--columns 允许您指定 目标 中的哪些列,您将 "affecting"。它与来源(在您的情况下是 Hive)无关。

运行 sqoop help export,您只会得到该选项的简要说明:

--columns <col,col,col...>                                Columns to
                                                          export to
                                                          table