hadoop - 增量 “lastmodified”在sqoop中不起作用

标签 hadoop hive teradata sqoop

我正在尝试sqoop执行从Teradata DB到Hive的增量导入。下面是查询:

sqoop import --connect jdbc:teradata://xxx.xxx.x.xx/DATABASE=DBN --driver com.teradata.jdbc.TeraDriver --username userN --password pass --query "SELECT alias.colA, alias.call_date, alias.colB, alias.colC FROM tableName alias where \$CONDITIONS" --target-dir /apps/hive/warehouse/staging.db/tableName -m 26 --check-column call_date --incremental append --split-by alias.colA --last-value '2016-02-01'

列call_date为DATE类型,值格式为“YYYY-MM-DD”。

当我将'append'用作--incremental时,一切正常。但是,当我将'lastmodified'放入时,会引发以下错误:
ERROR util.SqlTypeMap: It seems like you are looking up a column that does not 
ERROR util.SqlTypeMap: exist in the table. Please ensure that you've specified 
ERROR util.SqlTypeMap: correct column names in Sqoop options.                  
ERROR tool.ImportTool: Imported Failed: column not found: call_date

我在sqoop 1.4.4.2.1上使用HDP 2.1当Teradata DB是14.10

任何指针都会有所帮助。

最佳答案

我认为,在查询的情况下,您可以在查询本身中执行最后的值检查,有些人会这样想
"SELECT alias.colA, alias.call_date, alias.colB, alias.colC FROM tableName alias where call_date >'2016-02-01' and \$CONDITIONS"

引用(请参阅Hive中的增量更新数据>1。提取数据。)

https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.0/bk_dataintegration/content/incrementally-updating-hive-table-with-sqoop-and-ext-table.html

关于hadoop - 增量 “lastmodified”在sqoop中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38970733/

相关文章:

sql - Teradata SQL 性能调整 : STRTOK_SPLIT_TO_TABLE: EXPLAIN Failed. 3738:字符串长度超过 31000 个字符

bash - 来自 Java 进程的 shell 函数错误 "exporting"

hadoop - 如何使用Apache FLUME将数据写入HA Hadoop QJM?

hadoop - Phoenix-Spark API是否具有像HBase API这样的checkAndPut方法?

excel - 运行时错误 '-2147217871 (80040e31)' : Query timeout expired

sql - Teradata 是否支持 -Multiple With Clause?

scala - 在 Spark 中写入和读取原始字节数组 - 使用序列文件 SequenceFile

hadoop - 从另一个外部表中分区一个带有中间列的配置单元表

apache - 无法实例化 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

hadoop - hive 查询CSV文本分隔符问题