【发布时间】: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