zoukankan      html  css  js  c++  java
  • 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 '	' 
    --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  

       

      

      

      

      

      

      

      

      

      

     

  • 相关阅读:
    CF1168B Good Triple 性质分析
    bzoj 4994: [Usaco2017 Feb]Why Did the Cow Cross the Road III 树状数组_排序
    BZOJ 3940: [Usaco2015 Feb]Censoring AC自动机+栈
    BZOJ 1691 [Usaco2007 Dec]挑剔的美食家 multiset+排序+贪心
    BZOJ 1725: [Usaco2006 Nov]Corn Fields牧场的安排 状压动归
    BZOJ 1726: [Usaco2006 Nov]Roadblocks第二短路 Dijkstra
    BZOJ 1666: [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏 幼儿园测试题
    BZOJ 5508: [Tjoi2019]甲苯先生的字符串 矩阵乘法_思维
    BZOJ 1602: [Usaco2008 Oct]牧场行走 倍增裸题
    描述符get/set/delete,init/new/call,元类
  • 原文地址:https://www.cnblogs.com/yaboya/p/9324343.html
Copyright © 2011-2022 走看看