Sqoop 函数“--map-column-hive”被忽略
Sqoop function '--map-column-hive' being ignored
我正在尝试将文件作为 parquet 导入配置单元,而 --map-column-hive column_name=timestamp 被忽略。 'column_name' 列最初是 sql 中的 datetime 类型,它在 parquet 中将其转换为 bigint。我想通过 sqoop 将它转换为时间戳格式,但它不起作用。
sqoop import \
--table table_name \
--driver com.microsoft.sqlserver.jdbc.SQLServerDriver \
--connect jdbc:sqlserver://servername \
--username user --password pw \
--map-column-hive column_name=timestamp\
--as-parquetfile \
--hive-import \
--hive-table table_name -m 1
当我在配置单元中查看 table 时,它仍然显示具有原始数据类型的列。
我试过 column_name=string 也没有用。
我认为这可能是将文件转换为 parquet 的问题,但我不确定。有人有办法解决这个问题吗?
我在 运行 命令时没有收到任何错误,它只是完成了导入,就好像该命令不存在一样。
在 hive 1.2 版本之前,ParquetSerde 中的 Timestmap 支持不可用。 1.1.0 中仅支持二进制数据类型。
请检查link
请将您的版本升级到 1.2 及之后,它应该可以工作。
Please check the issue log and release notes below.
https://issues.apache.org/jira/browse/HIVE-6384
https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12329345&styleName=Text&projectId=12310843
我正在尝试将文件作为 parquet 导入配置单元,而 --map-column-hive column_name=timestamp 被忽略。 'column_name' 列最初是 sql 中的 datetime 类型,它在 parquet 中将其转换为 bigint。我想通过 sqoop 将它转换为时间戳格式,但它不起作用。
sqoop import \
--table table_name \
--driver com.microsoft.sqlserver.jdbc.SQLServerDriver \
--connect jdbc:sqlserver://servername \
--username user --password pw \
--map-column-hive column_name=timestamp\
--as-parquetfile \
--hive-import \
--hive-table table_name -m 1
当我在配置单元中查看 table 时,它仍然显示具有原始数据类型的列。
我试过 column_name=string 也没有用。
我认为这可能是将文件转换为 parquet 的问题,但我不确定。有人有办法解决这个问题吗?
我在 运行 命令时没有收到任何错误,它只是完成了导入,就好像该命令不存在一样。
在 hive 1.2 版本之前,ParquetSerde 中的 Timestmap 支持不可用。 1.1.0 中仅支持二进制数据类型。
请检查link
请将您的版本升级到 1.2 及之后,它应该可以工作。
Please check the issue log and release notes below.
https://issues.apache.org/jira/browse/HIVE-6384
https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12329345&styleName=Text&projectId=12310843