oracle - 是否可以使用 sqoop 导入表并添加额外的时间戳列?

标签 oracle hadoop timestamp sqoop

是否可以使用 sqoop 命令“导入表”将表从 oracle 数据库导入到 Hadoop 集群并添加一个带有当前时间戳的额外列(用于故障排除目的)?到目前为止,我有以下命令:

sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true --connect jdbc:oracle:thin:@//MY_ORACLE_SERVER --username USERNAME --password PASSWORD --target-dir /MyDIR --fields-terminated-by '\b' --table SOURCE_TABLE --hive-table DESTINATION_TABLE --hive-import --hive-overwrite --hive-delims-replacement '<newline>'

我想在表中添加一个时间戳列,以便我知道何时加载了该数据。可能吗?

提前致谢

最佳答案

您可以使用自由格式查询导入而不是表导入,并调用时间戳函数:

sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true --connect jdbc:oracle:thin:@//MY_ORACLE_SERVER --username USERNAME --password PASSWORD --target-dir /MyDIR --fields-terminated-by '\b' ----query 'SELECT a.*,systimestamp FROM SOURCE_TABLE a' --hive-table DESTINATION_TABLE  --hive-import --hive-overwrite --hive-delims-replacement '<newline>'

也许您可以使用 sysdate 而不是 systimestamp(数据类型更小但精度更低)

关于oracle - 是否可以使用 sqoop 导入表并添加额外的时间戳列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48049528/

相关文章:

java - SQL 查询仅返回 SELECT 语句中第一列的值

hadoop - 如何在Apache Spark中为文本文件创建HDFS?

hadoop - Pig - Order by - 不同的 reducer ?

bash - 如何使用 awk 按天将带时间戳的日志文件拆分为多个文件

Oracle 表空间 maxsize "unlimited"并不是真正无限

database - Oracle 12c - 未插入记录的列默认字符串值 - 改为空

java - 在 scala 中将时间戳解析为我想要的格式

Coldfusion 从 UNIX 转换为人类可读时间,无需转换时区之间的时间

甲骨文钱包 : Facebook Non valid certificate

hadoop - 如何更改Hadoop中数据 block 的大小?