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

  • 相关阅读:
    巨蟒python全栈开发-第17天 核能来袭-成员
    常用Git命令大全思维导图
    Android传递Bitmap的两种简单方式及其缺陷
    功能强大的图片截取修剪神器:Android SimpleCropView及其实例代码重用简析
    Package pdftex.def Error: PDF mode expected, but DVI mode detected!
    Android第三方开源图片裁剪截取:cropper
    Android第三方文件选择器:aFileChooser
    Android实现ViewPager无限循环滚动回绕
    AndroidTreeView:Android树形节点View
    Android DynamicGrid:拖曳交换位置
  • 原文地址:https://www.cnblogs.com/braveym/p/10882860.html
Copyright © 2011-2022 走看看