sqoop-hive导入添加额外的列

时间:2016-07-15 07:13:44

标签: oracle import hive sqoop

我已成功将数据从from flask import request class Info(Resource): def post(self): data = request.get_json(force=True) return data['locality'] 导入sqoop。我已在hive中添加了一列,并使用Oracle再次将特定列导入hive。但是,它附加到第一列数据和剩余列为null,并且没有新列出现在配置单元中。任何人都可以解决这个问题。

1 个答案:

答案 0 :(得分:0)

在查看您的import语句时,我假设您在第二次导入时尝试附加到现有导入但仅使用--columns--append参数导入新列。它不会以这种方式工作,因为它将附加到文件末尾的文件而不是每行的末尾。

您需要使用--hive-overwrite覆盖hdfs中的现有数据;并更改hive表以添加其他列。或者只是删除hive表并在sqoop命令中使用--create-hive-table

所以你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 

将值更改为环境的实际值