【问题标题】:Sqoop "create-hive-table" not working for Teradata in HortonworksSqoop“create-hive-table”不适用于 Hortonworks 中的 Teradata
【发布时间】:2017-03-29 09:33:38
【问题描述】:

我们正在使用 apache Sqoop 将数据从 Teradata 系统卸载到使用 Hortonworks Connector for Teradata 的 Hortonworks 平台中的 Hive 表。

我们正在尝试使用 Sqoop 命令“create-hive-table”从 Sqoop 在 Teradata 中创建 Hive 表。如果 Teradata 中没有 Interval/Period 数据类型,但如果表包含间隔/周期数据类型则失败(错误:不支持的数据类型),则该过程工作正常。我也尝试使用“hive-import”选项,但如果之前没有创建表,它就不起作用。有人在使用 Hortonworks Connector For Teradata 时遇到过这个问题吗?请注意,只有当表格中存在间隔/周期类型时,我才会遇到这样的问题..

【问题讨论】:

  • 分享您的 sqoop 命令和来自 teradata 的数据类型。

标签: hive teradata sqoop


【解决方案1】:

@Sathiyan S

给你

Sqoop 命令

sqoop create-hive-table --connection-manager org.apache.sqoop.teradata.TeradataConnManager --connect jdbc:CONNECSTRING --username dummy --password dummypd --map-column-hive Employee_Duration_Interval=STRING,Employee_work_period= STRING --table TEST_TABLE_TD --hive-table HIVE_TEST_TABLE

TEST_TABLE_TD ( Employee_id 整数, Employee_Name VARCHAR(200), Employee_Duration_Interval INTERVAL YEAR(4) TO MONTH, Employee_work_period PERIOD(TIMESTAMP(6)) )

如果您需要任何其他信息,请告诉我。 问候, 英德拉尼尔·罗伊

【讨论】:

  • 不要使用答案空间来提供详细信息。您可以通过粘贴来编辑您的问题。
【解决方案2】:

试试--map-column-java,因为java中没有数据类型可以匹配区间/周期,

所以查询将与此类似,

sqoop create-hive-table --connection-manager org.apache.sqoop.teradata.TeradataConnManager --connect jdbc:CONNECSTRING --username dummy --password dummypd --map-column-hive Employee_Duration_Interval=STRING,Employee_work_period=STRING --map-column-java Employee_Duration_Interval=String,Employee_work_period=String --table TEST_TABLE_TD --hive-table HIVE_TEST_TABLE 

【讨论】:

  • 我尝试使用 --map-column-java 进行上述查询,但 Sqoop 无法解析查询并引发错误:16/11/17 11:19:51 ERROR tool.BaseSqoopTool:解析 create-hive-table 的参数时出错:
  • 你能分享完整的踪迹吗?
猜你喜欢
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 2016-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-17
相关资源
最近更新 更多