sqoop导出数据

作者: 明明德撩码 | 来源:发表于2018-03-20 00:22 被阅读34次

应用场景1:把需要清洗的结构化数据导入到hdfs中,通过hive进行清洗后,把清洗结果导出到结构化数据表中,进行展现。
应用场景2:把需要清洗的结构化数据导入到hdfs中,通过hive进行数据分析后,把分析结果导出到结构化数据表中,进行展现。
例如:分析日志中的ip、访问时间、访问内容进行分析,把分析报告,导出到结构化数据表中,通过web展现方式给用户使用结果数据。

导出数据RDBMS


导出数据

create table my_user2(id int(25),account varchar(255),password varchar(255),primary key(id));


bin/sqoop export \
--connect jdbc:mysql://hadoop-senior.beifeng.com:3306/test \
--username root \
--password 123456 \
--table my_user2 \
--num-mappers 1  \
--input-fields-terminated-by '\t' \
--export-dir /user/beifeng/sqoop/input/part-m-00000

说明:吧part-m-00000文件中的数据导入到mysql test库中的my_user2表中。
export-dir导出的文件所在目录。
input-fields-terminated-by:指的是导入到myuser2表中的数据格式。

Hive数据导入导出

使用Sqoop 将Hive表的数据与RDBMS表中数据,互为导入导出,其实对于Hive来说,数据本身就是存储在HDFS的目录下,所以Hive的数据导入导出实质还是RDBMS与HDFS数据导入导出。

从MySQL导入数据到Hive是一个写文件的过程

create table user_hive(
id int,
account string,
password string
)
ROW FORMAT DELIMITED  FIELDS TERMINATED BY '\t';


bin/sqoop import \
--connect jdbc:mysql://hadoop-senior.beifeng.com:3306/test \
--username root \
--password 123456 \
--table my_user2 \
--fields-terminated-by '\t' \
--num-mappers 1  \
--hive-import  \
--hive-database default \
--hive-table user_hive  \
--delete-target-dir 

文件输出
–fields-terminated-by <char> 设定每个字段是以什么符号作为结束的,默认是逗号,也可以改为其它符号,如句号.,示例如:–fields-terminated-by.
指的就是文件行内容之间的分割符号,这样user_hive表就可以匹配上了。

从Hive导出数据到MySQL

企业实际应用中,使用HiveQL分析数据时,常常将分析结果存储到Hive临时表中,然后使用Sqoop export将表中的数据导出到RDBMS对应表中,所以这个大家必须要会。从Hive表中将数据导出到MYSQL表中,实质就是HDFS文件数据导出到MYSQL表,与【6、导出数据RDBMS】是一样的而已。

从Hive导出数据到MySQL

bin/sqoop export \
--connect jdbc:mysql://hadoop-senior.beifeng.com:3306/test \
--username root \
--password 123456 \
--table my_user2 \
--input-fields-terminated-by '\t' \
--num-mappers 1  \
--export-dir /user/hive/warehouse/user_hive/part-m-00000

这个过程是一个读文件的过程
--input-fields-terminated-by '\t' \:读取文件的以什么样的格式。
--export-dir /user/hive/warehouse/user_hive/part-m-00000:所读文件的目录

Sqoop 的--options-file使用


总结

  • 大数据协作框架在大数据Hadoop 2.x生态系统中举足轻重,非常重要,针对不同需求诞生,辅助海量数据的存储和处理。
  • Cloudera 发布的Hadoop版本CDH 5.x,有各种优势,其一各个框架版本间兼容问题,其二修复很多BUG和封装更好的接口以供实际项目中直接使用。
  • Sqoop 就是RDBMS与HDFS直接数据转换工具,分为导入数据和导出数据,把握架构的核心及使用三要素,其底层是仅仅只有Map Task的MapReduce,充分利用分布式计算的功能。

相关文章

  • 137.如何进行离线计算-3

    137.1 数据导出 Sqoop可以对HDFS文件进行导入导出到关系型数据库 Sqoop 工作机制是将导入或导出命...

  • sqoop导出数据

    应用场景1:把需要清洗的结构化数据导入到hdfs中,通过hive进行清洗后,把清洗结果导出到结构化数据表中,进行展...

  • Sqoop 导出数据

    官方文档 已经比较详细,这里只是介绍几个简单的例子 导出到 HDFS 按列导出 参数说明 --connect, -...

  • sqoop导出数据

    sqoop import \ --connect jdbc:mysql://ip:端口/库名 \ --userna...

  • sqoop数据处理

    参考文章001sqoop操作 1、数据导入 sqoop是sql和hadoop的缩写,表示从数据库中导出数据到had...

  • 51cto赵强HADOOP学习(十五)sqoop的导入导出

    使用sqoop导入关系型数据库中的数据 安装 导入导出

  • Hive-3.1.2(六)Sqoop1安装及指令

    Sqoop介绍 Sqoop 是apache提供的工具,用于HDFS和关系数据库之间数据导入和导出,可以从HDFS导...

  • 【Sqoop】Sqoop 1.4.7 安装

    一、Sqoop 介绍 Sqoop 是一款用于 hadoop 和关系型数据库之间数据导入导出的工具。可以通过 Sqo...

  • sqoop import使用

    一、sqoop作用? sqoop是一个数据交换工具,最常用的两个工具是导入导出。 导入导出的参照物是hadoop,...

  • sqoop数据导出操作

    sqoop的数据导出存在2中方式: 1.直接从hive数据库中导出到mysql等的传统的数据库,导出的效率较高,但...

网友评论

    本文标题:sqoop导出数据

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