1.11-1.12 Sqoop导入数据时两种增量方式导入及direct

一、增量数据的导入

1、两种方式

## query
有一个唯一标识符,通常这个表都有一个字段,类似于插入时间createtime
where createtime => 20150924000000000 and createtime < 20150925000000000

##sqoop参数
Incremental import arguments:
   --check-column <column>            Source column to check for incremental change
   --incremental <import-type>        Define an incremental import of type ‘append‘ or ‘lastmodified‘
   --last-value <value>                   Last imported value in the incremental check column

2、用sqoop参数增量导入的方式

##
bin/sqoop import --connect jdbc:mysql://hadoop-senior.ibeifeng.com:3306/test --username root --password 123456 --table my_user --target-dir /user/root/sqoop/imp_my_incr --num-mappers 1 --incremental append --check-column id --last-value 4  

#--incremental append       //追加方式
#--check-column        //检查的字段
#--last-value        //最后的值,不包含这个值,从这个值后面的开始导入

##
[[email protected] hadoop-2.5.0-cdh5.3.6]# bin/hdfs dfs -text /user/root/sqoop/imp_my_incr/part-m-00000
5,test,test
6,pudong,pudong
7,qiqi,qiqi

二、direct参数

直接导出模式(优化速度);

使用的是关系数据库自带的导入导出工具;

##
bin/sqoop import --connect jdbc:mysql://hadoop-senior.ibeifeng.com:3306/test --username root --password 123456 --table my_user --target-dir /user/root/sqoop/imp_my_incr --num-mappers 1 --delete-target-dir --direct

原文地址:https://www.cnblogs.com/weiyiming007/p/10821223.html

时间: 2024-10-05 23:36:47

1.11-1.12 Sqoop导入数据时两种增量方式导入及direct的相关文章

salesforce lightning零基础学习(七) 列表展示数据时两种自定义编辑页面

上一篇Lightning内容描述的是LDS,通过LDS可以很方便的实例化一个对象的数据信息.当我们通过列表展示数据需要编辑时,我们常使用两种方式去处理编辑页面:Pop Up Window弹出修改详情以及在本页面隐藏详情页面显示编辑页面. 实现这个功能以前主要需要先了解几个标签: lightning:recordForm: 此标签允许用户快速的创建一个form去查看,添加以及修改一条记录.集合了 lightning:recordEditForm 以及 lightning:recordViewFor

大数据的两种处理方式

大数据的处理方式有两种:基于内存的流式处理和基于硬盘的存储处理. 流式处理就好象是在经过的数据面前建一道水闸.数据流过这里,经过闸门的时候,就进行筛选过滤,分析出有价值的内容,然后丢弃,以后也不再使用. 存储处理则是建一个储水池.数据先放进入储水池存起来,需要的时候,再进到储水池里,在里面筛选分析,找到那些有价值的内容.这个过程中,因为水还在储水池里,没放掉,所以可以供下次继续使用. 存储模式的数据处理是可以重复的,用完再用,反复使用.但是因为硬盘本身的机械特性问题,导致它处理速度慢,速率不高.

oracle删除表数据的两种的方式

转自:https://blog.csdn.net/qq_37840993/article/details/82490787 平时写sql中我们都会用到删除语句,而平时删除表数据的时候我们经常会用到两种方式: 在oracle中,truncate.delete都可以删除表数据,具体的区别以及sql语法如下: truncate table [表名]; delete from [表名]; delete与truncate的区别:delete:会产生rollback,如果删除大数据量的表速度会很慢,而且同时

D3D11 IASetVertexBuffers 函数与顶点数据的两种组织方式

D3D11中的 IASetVertexBuffers 函数用来向GPU传递顶点数据.一般情况下,我都是传入一个buff,也即在0号slot上绑定了一个buff,其他slot都没有绑定buff.我传入的这个buff,是一个存储了顶点结构体数据的数组,每个顶点结构体中都有Position成员,Color成员,UV成员等等.用术语来描述我这种做法,就是“交错的顶点数据”,英文称呼有这些 Interleaved Vertex Data , an array of structs . 相对应的,另外一种做

Spring mvc返回JSON数据的两种配置方式

1.视图解析方式 依赖包:jackson-core.jackson-databind.jackson-annotationSpring配置文件内容: <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean"> <property name="defaultContentTy

DB2导入数据时乱码问题

1.由于导入import导入数据时乱码,一直找不到解决办法,于是就用load导入 LOAD后,发现某些表检查挂起( 原因码为 "1",所以不允许操作 SQLSTATE=57016 ) 解决办法:set integrity for xxxxxx immediate checked 2.表锁定(原因码为7) 解决办法:reorg table xxxx 3.去重 select distinct a.column from table1 as a inner join table2 as b

MYSQL导入数据时,出现错误:Incorrect string value: &#39;\xF0\x9F...&#39; for column &#39;XXX&#39; at row 1

Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1 这个问题,原因是UTF-8编码有可能是两个.三个.四个字节.Emoji表情或者某些特殊字符是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去. 我的解决方案是这样的 1.在mysql的安装目录下找到my.ini,作如下修改: [mysqld] character-set-server=utf8mb4 [mysql] default-character-

SQL Server导入数据时“启用标示插入”详解

在SQL Server中导入数据时,会有一个"启用标示插入"的选项,突然间懵逼了,这到底啥意思?我选与不选这个选项,结果好像没区别!不科学啊这,"存在即合理",我相信这个选项肯定有它的用处,只是我不知道罢了. 于是我去查资料,在CSDN论坛里找到了可能的解释: 1)首先:"启用标示插入"只对标示列(identity定义的列)起作用.所以如果你要使用这个功能,肯定得有标示列了.我当时狂晕的地方在于,我没在数据库创建表,而是直接在导入数据的过程中创建

Navicat导入数据时发生了报错 --- 1153 - Got a packet bigger than &#39;max_allowed的处理办法

今天我在使用Navicat导入.sql文件数据时,发现本来是80万条的数据,结果只导入了10万条左右,而且在其错误信息日志中,我发现了这样一条错误:1153 - Got a packet bigger than 'max_allowed. 度娘了一番后,发现越来是我的SQL文件远远大于MySQL默认执行的文件大小,所以执行不过去. 解决方法: 在MySQL安装目录下找到文件my.ini,搜索[mysqld],在其下面添加一句话 max_allowed_packet=521M  ##该处按照自己的