【问题标题】:Updating hive table with sqoop from mysql table使用 mysql 表中的 sqoop 更新 hive 表
【发布时间】:2017-08-14 19:55:33
【问题描述】:

我已经有一个名为角色的配置单元表。我需要使用来自 mysql 的信息更新此表。所以,我使用这个脚本认为它会在我的配置单元表上添加和更新新数据:`

sqoop import --connect jdbc:mysql://nn01.itversity.com/retail_export --username retail_dba --password itversity \ --table roles --split-by id_emp --check-column id_emp --last-value 5 --incremental append \ --target-dir /user/ingenieroandresangel/hive/roles --hive-import --hive-database poc --hive-table roles

不幸的是,这只插入了新数据,但我无法更新已经存在的记录。在你问几个陈述之前:

  • 该表没有 PK

  • 如果我不指定 --last-value 作为参数,我将得到那些已经存在的重复记录。

如果不应用截断表或使用 PK 重新创建表,我怎么能弄明白?存在吗?

谢谢大家。

【问题讨论】:

  • 正如您已经提到的,您必须遵循截断过程
  • 没有别的办法了吗??恐怕不是因为蜂巢不支持 ACID 表架构,不是吗。好吧,我只是想确定一下。

标签: mysql hadoop hive sqoop data-ingestion


【解决方案1】:

Hive 不操作更新查询。 您必须删除/截断旧表并重新加载。

【讨论】:

    猜你喜欢
    • 2017-05-12
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    相关资源
    最近更新 更多