sqoop配置单元导入添加额外列

rfbsl7qr  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(374)

我已从导入数据 sqoophive 成功。我在中添加了一列 Oracle 再次将特定列导入 hive 使用 sqoop-import . 但是,它将附加到第一列数据,其余列为null,并且没有新列出现在配置单元中。谁能解决这个问题。

bgtovc5b

bgtovc5b1#

不看你的眼睛 import 语句,我假设在第二次导入时,您尝试附加到现有的导入,但仅使用 --columns 以及 --append 论据。它不会以这种方式工作,因为它将附加到文件的末尾,而不是每行的末尾。
您需要使用覆盖hdfs中的现有数据 --hive-overwrite ; 并更改配置单元表以添加附加列。或者干脆把Hive放在table上 --create-hive-table 在sqoop命令中。
所以你 import 命令应如下所示:

sqoop --import \
       --connect $CONNECTION_STR \ 
       --username $USER \
       --password $PASS \
       --table $ORACLE_TABLE \
       --hive-import \
       --hive-overwrite \
       --hive-table \
       --hive-home $HIVE_HOME \
       --hive-table $HIVE_TABLE

将值更改为环境的实际值

相关问题