zoukankan      html  css  js  c++  java
  • 15.sqoop数据从mysql里面导入到HDFS里面

    表数据

    在mysql中有一个库userdb中三个表:emp, emp_add和emp_contact

    表emp

    id

    name

    deg

    salary

    dept

    1201

    gopal

    manager

    50,000

    TP

    1202

    manisha

    Proof reader

    50,000

    TP

    1203

    khalil

    php dev

    30,000

    AC

    1204

    prasanth

    php dev

    30,000

    AC

    1205

    kranthi

    admin

    20,000

    TP

    表emp_add:

    id

    hno

    street

    city

    1201

    288A

    vgiri

    jublee

    1202

    108I

    aoc

    sec-bad

    1203

    144Z

    pgutta

    hyd

    1204

    78B

    old city

    sec-bad

    1205

    720X

    hitec

    sec-bad

    表emp_conn:

    id

    phno

    email

    1201

    2356742

    gopal@tp.com

    1202

    1661663

    manisha@tp.com

    1203

    8887776

    khalil@ac.com

    1204

    9988774

    prasanth@ac.com

    1205

    1231231

    kranthi@tp.com

    分别创建三个表

    create table emp(
    id int,
    name varchar(20),
    deg varchar(20),
    salary  int,
    dept varchar(20)
    );

     导入数据

    insert into emp values(1201,'gopal','manager',50000,'TP');
    insert into emp values(1202,' manisha ',' Proof reader',50000,'TP');
    insert into emp values(1203,' khalil','php dev',30000,'AC');
    insert into emp values(1204,' prasanth',' php dev',30000,'AC');
    insert into emp values(1205,' kranthi',' admin',20000,'TP');

     

    create table emp_add(
    id int,
    hno varchar(20),
    street varchar(20),
    city varchar(20)
    );

     

    导入数据

    insert into emp_add values(1201,'288A','vgiri','jublee');
    insert into emp_add values(1202,'1801','aoc','sec-bad');
    insert into emp_add values(1203,'144Z','pguttai','hyd');
    insert into emp_add values(1204,'78B','old city','sec-bad');
    insert into emp_add values(1205,'720X','hitec','sec-bad');

     

    create table emp_conn(
    id int,
    phno int,
    email varchar(20)
    );

     

     导入数据

    insert into emp_conn values(1201,'2356742','gopal@tp.com');
    insert into emp_conn values(1202,'1661663','manisha@tp.com');
    insert into emp_conn values(1203,'8887776','khalil@ac.com');
    insert into emp_conn values(1204,'9988774','prasanth@ac.com');
    insert into emp_conn values(1205,'1231231','kranthi@tp.com');

     删除HDFS的目录

     从MySQL数据库服务器中的emp表导入HDFS

    bin/sqoop import 
    --connect jdbc:mysql://node1:3306/userdb 
    --username sqoop 
    --password sqoop 
    --table emp --m 1

     

    查看HDSF上的内容

     接下来把Mysql的数据导入到Hive里面

     先启动Hive

     在导入之前先把HDFS的/user/hadoop/emp删除,因为Hive的数据是存放在HDFS上

     导入到hive表里面

    [hadoop@node1 sqoop]$ bin/sqoop import --connect jdbc:mysql://node1:3306/userdb --username sqoop --password sqoop --table emp --hive-import --m 1

     

     查看HDFS文件

     查看hive里面的表

    从mysql数据库中导入到HDFS中的指定目录

    bin/sqoop import 
    --connect jdbc:mysql://node1:3306/userdb 
    --username sqoop 
    --password sqoop 
    --target-dir /queryresult 
    --table emp_add --m 1

     

    导入表数据子集

    我们可以导入表的使用Sqoop导入工具,"where"子句的一个子集。它执行在各自的数据库服务器相应的SQL查询,并将结果存储在HDFS的目标目录。

     下面的命令用来导入emp_add表数据的子集。子集查询检索员工ID和地址,居住城市为:Secunderabad

    bin/sqoop import 
    --connect jdbc:mysql://node1:3306/userdb 
    --username sqoop 
    --password sqoop 
    --where "city ='sec-bad'" 
    --target-dir /wherequery 
    --table emp_add --m 1

     

     

    查看HDFS文件内容

  • 相关阅读:
    2021-3-11 日报博客
    2021-3-9 日报博客
    2021-3-8 日报博客
    2021-3-7 日报博客
    2021-3-6 周报博客
    2021-3-5 日报博客
    小程序 ----- 条件渲染(if 和 hidden) (七)
    小程序 ---- 简单运算和循环遍历(六)
    小程序 ----- 数据绑定(五)
    .NET ------ Repeater循环嵌套
  • 原文地址:https://www.cnblogs.com/braveym/p/10882860.html
Copyright © 2011-2022 走看看