• 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文件内容

  • 相关阅读:
    awk命令使用整理
    oracle pl/sql中record和%rowtype整理
    expect实现非交互下的ssh连接, expect简单使用整理
    shell通配符, 变量, shell作用域, $#@*等说明
    python之爬虫(三) Urllib库的基本使用
    python之爬虫(二)爬虫的原理
    python之爬虫--番外篇(一)进程,线程的初步了解
    Python之Web框架
    Python之爬虫
    Django【进阶篇 】
  • 原文地址:https://www.cnblogs.com/braveym/p/10882860.html
Copyright © 2020-2023  润新知