1.导入概念
在Sqoop中,“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE)中传输数据,叫做:导入,即使用 import 关键字。
2.增量导入
当在生产环境中,我们可能会定期从与业务相关的关系型数据库向Hadoop导入数据,导入数仓后进行后续离线分析。这种情况下我们不可能将所有数据重新再导入一遍,所以此时需要数据增量导入。
增量导入数据分为两种方式:
- 基于递增列的增量数据导入(Append方式)。
- 基于时间列的数据增量导入(LastModified方式)。
工具描述
-
–check-column (col)
用来指定一些列,这些咧在增量到日时用来检查这些数据是否作为增量数据进行导入,和关系型数据库中的自增字段及时间戳类似。
注意:这些被指定的列的类型不能是任意字符类型,如char、varchar等类型都是不可以的,同时–check-column可以去指定多个列。 -
–incremental (mode)
- append:追加,比如对大于last-value指定的值之后的记录进行追加导入
- lastmodified:最后的修改时间,追加last-value指定的日期之后的记录
-
–last-value (value) 指定自从上次导入后列的最大值(大于该指定的值),也可以自己设定某一列
使用
1.append模式
mysql中有good表如下
DROP TABLE IF EXISTS `good`;
CREATE TABLE `good` (