使用sqoop将teradate中的数据导入hadoop集群时出错。
我的tera表有两列标题(不是列名)等价。在我的sqoop作业中有没有一种自动使用col name而不是col title的方法?
我尝试使用“select*fromtable”作为查询,但不起作用。
我不能在teradata中更改列标题。
这是我的工作代码: sqoop job -Dmapred.job.queue.name=shortduration \ --create inc_My_Table \ -- import \ --connect jdbc:teradata://RCT/DATABASE=DWHBIG \ --driver com.teradata.jdbc.TeraDriver \ --username MBIGDATA -P \ --query "select a.* from My_Table a where \$CONDITIONS" \ --target-dir /data/source/fb/$i \ --check-column DAT_MAJ_DWH \ --incremental append \ --last-value 2001-01-01 \ --split-by ID
你知道吗?谢谢
2条答案
按热度按时间dzhpxtsq1#
由于teradata jdbc驱动程序为16.00.00.28,因此可以使用连接url参数column\u name来控制getcolumnname和getcolumnlabel的行为,以返回列名、列名或as子句名,从而解决问题。
column_name=off(默认值)指定resultsetmetadata.getcolumnname方法应返回as子句名称(如果可用)、列名(如果可用)或列标题,并指定resultsetmetadata.getcolumnlabel方法应返回列标题。
column_name=on指定当statementinfo包支持可用时,resultsetmetadata.getcolumnname方法应返回列名(如果可用),并指定resultsetmetadata.getcolumnlabel方法应返回as子句名(如果可用),或列名(如果可用)或列标题。当statementinfo地块支持不可用时,此选项无效。
0qx6xfy62#
我终于找到了解决办法。我使用
AS
sql命令!