个人理财 Sqoop使用更新和更新插入方法导出 - 傻瓜

Sqoop使用更新和更新插入方法导出 - 傻瓜

Anonim

使用插入模式,由Sqoop导出的记录将追加到目标表的末尾。 Sqoop还提供了一个更新模式,您可以通过提供-update-key命令行参数来使用它。此操作会导致Sqoop生成SQL UPDATE语句以在RDBMS或数据仓库上运行。

假设您想要使用存储在HDFS文件/ user / my-hdfs-file中的数据更新三列表。该文件包含这些数据:

<!以下简写的Sqoop export命令会在数据库系统上生成相应的SQL UPDATE语句:
$ sqoop export(通用参数) - table target-relational -table --update-key column1 --export-dir / user / my-hdfs-file … Generate => UPDATE target-relational-table SET column2 = 1000,column3 = 2000 WHERE column1 = 100;

使用前面的导出命令,如果RDBMS或数据仓库系统上的目标关系表没有列1中匹配值的记录,则目标关系表中没有任何更改。

<!但是,如果找不到匹配的记录,还可能包含另一个参数,用于将数据插入或附加到目标表。这样想:如果存在UPDATE else INSERT。

<! - 1 - >

这种技术通常在数据库本地语言中被称为

upsert

或在其他实现中被称为MERGE。 upsert模式的参数是-update-mode,其中up​​dateonly是默认值,allowinsert激活upsert模式。检查数据库文档或咨询您的供应商,以确定Apache Sqoop是否支持upsert模式。

Sqoop使用更新和更新插入方法导出 - 傻瓜

编辑的选择

记录您的思科网络配置与CDP - 傻瓜

记录您的思科网络配置与CDP - 傻瓜

记录思科网络配置有时没有思科发现协议)可能需要花费数小时在布线室跟踪电缆和记录端口。在某些情况下,配线室是一个真正的老鼠的电缆巢,并且可能需要几个小时的导航才能找出哪些交换机连接到哪个交换机,哪些路由器,...

以太网通道诊断信息收集 - 虚拟

以太网通道诊断信息收集 - 虚拟

诊断思科网络中的以太网通道问题,您首先必须能够收集您的交换机及其配置。为了执行这个任务,你一如既往地依靠Show和debug命令。首先,简要介绍一下show命令的内容。 Switch1> enable Switch1#configure terminal Switch2#show EtherChannel ...

扩展访问控制列表(ACL) - 虚拟

扩展访问控制列表(ACL) - 虚拟

扩展访问控制列表(ACL)允许您允许拒绝来自特定IP地址的流量到特定的目标IP地址和端口。它还允许您指定不同类型的流量,如ICMP,TCP,UDP等。不用说,它非常细化,可以使您非常具体。如果...

编辑的选择

电子项目计划步骤1:设想您的电子项目 - 傻瓜

电子项目计划步骤1:设想您的电子项目 - 傻瓜

设计和建立你的电子项目的细节,你应该退后一步,看看大局。首先,你需要确保你有一个坚实的想法为您的项目。你为什么要建立它?它会做什么,谁来使用它,为什么? ...

电子项目计划步骤4:构建您的电路 - 傻瓜

电子项目计划步骤4:构建您的电路 - 傻瓜

而且你对它的操作感到满意,你可以建立一个永久版本的电路。虽然有几种方法可以做到这一点,但最常见的是在印刷电路板(也称为PCB)上构建电路。请注意,在PCB上组装电路...

电子项目计划步骤3:原型电路 - 假人

电子项目计划步骤3:原型电路 - 假人

永久的电路板,你会想确保它的工作。最简单的方法就是在无焊面包板上构建电路。无焊料面包板可以让您快速组装电路元件而不需要焊接任何东西。相反,您只需将其裸露在外...

编辑的选择

如何替换R中的文本 - 虚拟变量

如何替换R中的文本 - 虚拟变量

R中的sub()函数在文本模式,并用替换文本替换此模式。你使用sub()来替代文本文本,并使用其表兄gsub()来替换所有出现的模式。 (gsub()中的g表示全局。)假设你有句子He ...

中如何成功地遵循命名惯例在R - 傻瓜

中如何成功地遵循命名惯例在R - 傻瓜

R是非常自由的,对象和功能。这个自由是一个很大的祝福,同时也是一个很大的负担。没有人不得不遵循严格的规则,所以在R中编程的人基本上可以按照自己的意愿去做。如何选择一个正确的名字...

中使用函数在R中创建并转换脚本后,如何使用R - dummies中的函数

中使用函数在R中创建并转换脚本后,如何使用R - dummies中的函数

再次使用前面显示的Source()命令将其加载到控制台中。现在你看...什么也没有。 R并不让你知道它已经加载了这个函数,但它已经在工作空间中了,你可以检查一下...