打赏

14_sqoop数据导入

3.Sqoop的数据导入

  “导入工具”导入单个表从RDBMS到HDFS。表中的每一行被视为HDFS的记录。所有记录都存储为文本文件的文

本数据(或者Avro、sequence文件等二进制数据)

3.1语法

  下面的语法用于将数据导入HDFS:$ sqoop import (generic-args) (import-args)

3.2 导入表数据到HDFS

  下面的命令用于从MySQL数据库服务器中的emp表导入HDFS:

$bin/sqoop import   \
--connect jdbc:mysql://shizhan2:3306/mysql   \
--username root  \
--password root   \
--table user  \
--m 1  

  

  导入成功,会有如下输出:

  

  如果没有指定该表导入到那个目录,将使用默认目录,为了验证在HDFS导入的数据,请使用以下命令查看导入的数据:

  

3.3 导入表数据到Hive

bin/sqoop import --connect jdbc:mysql://shizhan2:3306/mysql --username root --password root --table tb_emp --hive-import --m 1

   在HDFS中Hive的默认目录下查看:

  

  

3.5 导入表数据到HDFS的指定目录 

  在导入表数据到HDFS使用Sqoop导入工具,我们可以指定目标目录。

  例如下面的命令是用来导入emp_add表数据到'/queryresult'目录

bin/sqoop import \
--connect jdbc:mysql://shizhan2:3306/mysql \
--username root \
--password root \
--target-dir /queryresult \
--table tb_emp --m 1

  下面的命令是用来验证 /queryresult 目录中 tb_emp表导入的数据形式

 

  它会用逗号(,)分隔tb_emp表的数据和字段

3.6 导入表数据子集:

  我们可以使用Sqoop导入工具导入表的部分数据(子集),"where"子句的一个子集。它执行在各自的数据库服务器相应

的SQL查询,并将结果存储在HDFS的目标目录。

  1.下面的命令用来导入tb_emp表数据的子集。子集查询检索员工ID为1(id = 1)的信息

bin/sqoop import \
--connect jdbc:mysql://shizhan2:3306/mysql \
--username root \
--password root \
--where "id ='1'"  \
--target-dir /wherequery \
--table tb_emp --m 1

  查看文件:默认使用逗号分隔

  

  2.按需导入:

bin/sqoop import \
--connect jdbc:mysql://shizhan2:3306/mysql \
--username root \
--password root \
--target-dir /wherequery2 \
--query 'select id,name from tb_emp WHERE  id>1 and $CONDITIONS' \
--split-by id \
--fields-terminated-by '\t' \
--m 1

   查看文件:

  

3.7 增量导入

  增量导入是仅导入表中新添加的行的技术。

  它需要添加‘incremental’, ‘check-column’, 和 ‘last-value’选项来执行增量导入。

  下面的语法用于Sqoop导入命令增量选项,面的命令用于在tb_emp表执行增量导入:

bin/sqoop import \
--connect jdbc:mysql://shizhan2:3306/mysql \
--username root \
--password root \
--table tb_emp --m 1 \
--incremental append \
--check-column id \
--last-value 2  

   

 

 

  

 

  

 

 

 

  

 

 

  

  

 

  

 

  

  

 

 

  

 

 

 

posted @ 2018-07-17 17:03  QueryMarsBo  阅读(870)  评论(0编辑  收藏  举报