美文网首页
导入数据

导入数据

作者: 码农GG | 来源:发表于2019-12-15 08:45 被阅读0次

4.1、导入数据
在Sqoop中,“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE)中传输数据,叫做:导入,即使用import关键字。
4.1.1、RDBMS到HDFS

  1. 确定Mysql服务开启正常
  2. 在Mysql中新建一张表并插入一些数据
$ mysql -uroot -p000000
mysql> create database company;
mysql> create table company.staff(id int(4) primary key not null auto_increment, name varchar(255), sex varchar(255));
mysql> insert into company.staff(name, sex) values('Thomas', 'Male');
mysql> insert into company.staff(name, sex) values('Catalina', 'FeMale');
  1. 导入数据
    (1)全部导入(mysql -> HDFS)
$ bin/sqoop import \
--connect jdbc:mysql://bigdata111:3306/company \
--username root \
--password 000000 \
--table staff \
--target-dir /user/company \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t"
(2)查询导入(mysql查询 -> HDFS)
$ bin/sqoop import \
--connect jdbc:mysql://bigdata111:3306/company \
--username root \
--password 000000 \
--target-dir /user/company \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t" \
--query 'select name,sex from staff where id <=3 and $CONDITIONS;'

尖叫提示:must contain 'CONDITIONS' in WHERE clause. 注:CONDITIONS 翻译‘条件’ 尖叫提示:如果query后使用的是双引号,则CONDITIONS前必须加转移符,防止shell识别为自己的变量。
(3)导入指定列

$ bin/sqoop import \
--connect jdbc:mysql://bigdata111:3306/company \
--username root \
--password 000000 \
--target-dir /user/company \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t" \
--columns id,sex \
--table staff

尖叫提示:columns中如果涉及到多列,用逗号分隔,分隔时不要添加空格
(4)使用sqoop关键字筛选查询导入数据

$ bin/sqoop import \
--connect jdbc:mysql://bigdata111:3306/company \
--username root \
--password 000000 \
--target-dir /user/company \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t" \
--table staff \
--where "id=2"

尖叫提示:在Sqoop中可以使用sqoop import -D property.name=property.value这样的方式加入执行任务的参数,多个参数用空格隔开。
4.1.2、RDBMS到Hive

bin/sqoop import \
--connect jdbc:mysql://bigdata111:3306/company \
--username root \
--password 000000 \
--table staff \
--num-mappers 1 \
--hive-import \
--fields-terminated-by "\t" \
--hive-overwrite \
--hive-table staff_hive

尖叫提示:该过程分为两步,第一步将数据导入到HDFS,第二步将导入到HDFS的数据迁移到Hive仓库
尖叫提示:从MYSQL到Hive,本质时从MYSQL => HDFS => load To Hive

相关文章

  • 数据导入

    数据导入——Excel 文本导入 数据库导入数据量大选择透视表 网站导入

  • sklearn-2.用pandas导入数据

    导入数据分为导入sklearn自带数据和导入自己的数据。导入数据主要是要把feature(x)和标签(y)分开。 ...

  • matlab数学建模基础

    1.数据的导入和保存 1.1数据的导入 matlab中导入数据的函数通常为load matlab中常用的导入数据的...

  • Excel数据分析

    数据导入 文本导入 数据库导入 网站导入 数据清洗 数据透视表法 菜单删除法 条件格式标识法 高级筛选法 函数法 ...

  • 利用python将数据导入mysql数据库(sql到pandas

    mysql导入数据 python导入数据 sql到pandas

  • Pandas数据分析基础流程及操作

    Pandas基础操作 准备: 导入库¶ 一、数据导入 实际数据导入 二、数据导出 三、数据结构及创建 Series...

  • T1.1 Excel-Basic

    数据准备:设计表格类型、定义数据类型 数据导入:文件导入、网站导入、手动录入 数据清洗:去重、缺失值 数据加工:抽...

  • Tensorflow 基本文本分类

    导入工具库 导入数据 导入数据集,仍然是采用国内特色的导入方式,先自己下载,然后再导入。 npz格式的数据也可以直...

  • mongoldb数据导入导出

    mongoldb数据导入 导入json格式: 导入csv格式: mongoldb数据导出 导出json格式: 导出...

  • js文件上传 、导入报表excel

    这里导入分两种 :1.导入excel数据到后台:批量导入2.导入excel数据到网页:单条导入 导入的excel模...

网友评论

      本文标题:导入数据

      本文链接:https://www.haomeiwen.com/subject/luaggctx.html