hadoop - 使用 Sqoop 将数据附加到 hive 表

标签 hadoop sqoop

我正在尝试将数据附加到配置单元中现有的表。首先使用以下命令将表从 MS-SQL Server 导入配置单元。

Sqoop 命令:
sqoop import --connect "jdbc:sqlserver://XXX.XX.XX.XX;databaseName=mydatabase" --table "my_table" --where "Batch_Id > 100" --username myuser --password mypassword --hive-import

现在我想将数据附加到配置单元中“Batch_Id < 100”的同一个现有表 我正在使用以下命令:

sqoop import --connect "jdbc:sqlserver://XXX.XX.XX.XX;databaseName=mydatabase" --table "my_table" --where "Batch_Id < 100" --username myuser --password mypassword --append --hive-table my_table

然而,此命令成功运行也更新了 HDFS 数据,但是当您连接到 hive shell 并查询表时,附加的记录不可见。 Sqoop 更新了 hdfs "/user/hduser/my_table" 上的数据,但是 "/user/hive/warehouse/batch_dim" 上的数据没有更新。

如何解决这个问题。

问候, 巴格旺博比

最佳答案

尝试使用

sqoop  import  --connect "jdbc:sqlserver://XXX.XX.XX.XX;databaseName=mydatabase"  
               --table "my_table" --where "Batch_Id < 100"  
               --username  myuser  --password mypassword   
               --hive-import --hive-table my_table

当您使用 --hive-import 时,请勿使用 --append 参数。

关于hadoop - 使用 Sqoop 将数据附加到 hive 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20995761/

相关文章:

reflection - Hadoop 如何决定在 MapTask 类中运行哪个映射器,OldMapper 还是 NewMapper?

hadoop - 使用 hcatalog 的 Sqoop 增量导出?

mysql - Sqoop:增量导入问题

hadoop - 消息 [JA002 : SIMPLE authentication is not enabled. 可用:[ token ]]

hadoop - 将sqoop导入到hbase中,未写入任何记录

hadoop - 配置单元总是减少到 0%

hadoop - HDFS字符串数据要配置单元表中的时间戳

hadoop - 使用Pig将非结构化数据转换为结构化数据

json - 使用 NoSQL 数据库对 JSON 数据进行高效且可扩展的存储

oracle - 无法使用 sqoop 列出 oracle 表名