微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqoop导入关系型数据库-解密Sqoop

Sqoop作为Hadoop与传统数据库间的桥梁,对于数据的导入导出有着重要作用。通过对Sqoop基本语法以及功能的阐述,深刻解密Sqoop的作用和价值。

 一、什么是Apache Sqoop?

Cloudera开发的Apache开源项目,是sql-to-Hadoop的缩写。主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如: MysqL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。在导入数据的时候,既可以导入整个数据库,也可以导入单个表、所有表或表的部分数据到HDFS,在导入数据的同时可以导成各种格式。除此之外,Sqoop可以从HDFS导出数据到数据库,所以sqoop它拥有双向的作用。

sqoop导入关系型数据库-解密Sqoop

二、Sqoop如何工作?

Sqoop工作也是基于计算框架MapReduce,MapReduce会把提交的sql导数转换成MapReduce作业,然后提交到集群。总体来说分成三个步骤:

1、检查表详情

2、创建和提交作业到集群

3、获取表记录并写入数据到HDFS

sqoop导入关系型数据库-解密Sqoop

三、基本语法:

Sqoop是一个带很多子命令的命令行工具,有很多用来导入、导出、列出数据库内容等工具。通常我们先列出数据库有哪些表,然后再去导相应的表。如果想要去看sqoop所有的工具,可以运行sqoop help来查看所有工具列表,在这里也建议大家习惯使用help,去查找一些使用参数。另外,也可以运行sqoop help tool-name来查看特定工具的帮助(如import,export)。

Sqoop调用的基本语法

sqoop导入关系型数据库-解密Sqoop

四、使用Sqoop探索数据库

通常在导数据之前我们先要探索一下数据库,去了解数据库里面都有哪些表,一般有两种方式:

1、List-tables:列出所有MysqL中loudacre数据库的表

sqoop导入关系型数据库-解密Sqoop

2.eval:执行数据库查询

sqoop导入关系型数据库-解密Sqoop

Sqoop作为Hadoop家族重要的一员,我们需要着重认知和把握,对于我们了解和学习大数据有着重要的帮助。平常大家也可以关注一些大数据的资讯,了解大数据发展的趋势和一些行业经典案例。尤其是现在网络媒体兴盛,信息传播迅速,比如微信服务号,我自己平时就喜欢从上面找一些案例,像大数据cn就很不错。但是技术永远都是有门槛的,只有不断学习交流才可以不断进步,最近我在大数据时代学习中心这个服务号也学到了一些其他人分享的经验,对于我个人帮助也很大。

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐