gpt4 book ai didi

mysql - Sqoop 将数据从 MySQL 表复制到分区的 Hive 表

转载 作者:可可西里 更新时间:2023-11-01 15:24:03 26 4
gpt4 key购买 nike

我写了一个Sqoop脚本:

HADOOP_USER_NAME=hdfs sqoop import --connect jdbc:mysql://cmsmaster.cy9mnipcdof2.us-east-1.rds.amazonaws.com/db  --username user -password-file /user/password/dbpass.txt --fields-terminated-by ','  --target-dir /user/db/sqoop_internal --delete-target-dir --hive-import --hive-overwrite --hive-table sqoop_internal --query '
SOME_QUERY where $CONDITIONS' --split-by id

这会复制查询结果并将其移动到 Hive 表中,覆盖其之前的内容。

现在我需要修改此脚本,使其不会覆盖整个 Hive 表。相反,它应该覆盖该 Hive 表的一个分区。如何做到这一点?

最佳答案

根据您的问题,我了解到您可能需要进行 sqoop 合并。

你需要删除:

--delete-target-dir and --hive-overwrite

并添加:

--incremental lastmodified --check-column modified --last-value '2018-03-08 00:00:00' --merge-key yourPrimaryKey

您可以从官方文档中找到更多信息。 https://sqoop.apache.org/docs/1.4.2/SqoopUserGuide.html#_literal_sqoop_merge_literal

关于mysql - Sqoop 将数据从 MySQL 表复制到分区的 Hive 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49169963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com