楼主: ada89k
1382 0

[其他] 大数据之Sqoop_大数据 [推广有奖]

  • 3关注
  • 72粉丝

院士

99%

还不是VIP/贵宾

-

威望
2
论坛币
621761 个
通用积分
1.0278
学术水平
123 点
热心指数
149 点
信用等级
82 点
经验
46289 点
帖子
1667
精华
3
在线时间
2442 小时
注册时间
2017-2-7
最后登录
2024-4-9

楼主
ada89k 在职认证  发表于 2017-3-16 17:33:55 |只看作者 |坛友微信交流群|倒序 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

大数据之Sqoop_大数据

以下是Sqoop_大数据的相关介绍,sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具。希望这篇文章可以对正在学习大数据相关内容的同学有所帮助。

sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具。你可以通过sqoop把数据从数据库(比如mysql,oracle)导入到hdfs中;也可以把数据从hdfs中导出到关系型数据库中。sqoop通过Hadoop的MapReduce导入导出,因此提供了很高的并行性能以及良好的容错性。

sqoop适合以下的人群使用:

系统和应用开发者

系统管理员

数据库管理员

数据分析师

数据工程师


支持的版本

本文档是依据sqoop v1.4.6翻译的.目前最新的版本是sqoop2,变化有点大。

sqoop的版本

sqoop是Apache软件基金会提供的开源框架。官方网站参考:http://sqoop.apache.org。

前提条件

想要使用这款工具需要有一下的背景:

基本的计算机知识

对类似bash的命令行比较熟悉(因为sqoop基本都是通过命令行来操作的)

熟悉关系型数据库系统的管理(毕竟是从数据库到出)

熟悉hadoop基本操作(了解基本的hdfs操作和mapreduce的原理会更容易理解sqoop的过程)

在你使用sqoop之前,需要先安装hadoop。这个文档是基于Linux环境的,如果你是在windows下使用,需要安装cygwin。

基本的使用

通过sqoop,你可以从关系型数据库中导出数据,导入到hdfs中。输入可能是数据库的一张表或者查询结果;输出则是数据库表或者结果的导出文件集合。导入进程是并行的,因此输出的结果可能是多个文件(最终在hdfs中可能会得到多个文件)。这些文件可能是标准的文本文件TextFile(比如,使用逗号做字段间的分割),也可能是Avro或者SequeenceFiles的记录文件。

sqoop的导入进程是一个自动生成出来的java class,因此它的很多组件都可以自定义,比如导入的格式、文本的格式、到出的格式等等。

sqoop还提供了很多的工具来检查数据库.

比如通过sqoop-list-databases可以列出数据库的表视图。

[root@hadoop-master bin]#sqoop-list-databases --connect 'jdbc:mysql://localhost:3306/dbname' --username'name' --password 'passwd'

16/09/29 18:29:11 INFO sqoop.Sqoop: RunningSqoop version: 1.4.6

16/09/29 18:29:11 WARN tool.BaseSqoopTool:Setting your password on the command-line is insecure. Consider using -Pinstead.

16/09/29 18:29:11 INFOmanager.MySQLManager: Preparing to use a MySQL streaming resultset.

test

dev

xingoo

通过sqoop-list-tables查看表

[root@hadoop-master bin]# sqoop-list-tables--connect 'jdbc:mysql://localhost:3306/dbname' --username 'name' --password'passwd'

16/09/29 18:26:50 INFO sqoop.Sqoop: RunningSqoop version: 1.4.6

16/09/29 18:26:50 WARN tool.BaseSqoopTool:Setting your password on the command-line is insecure. Consider using -Pinstead.

16/09/29 18:26:51 INFOmanager.MySQLManager: Preparing to use a MySQL streaming resultset.

a

b

c

d

大多数导入进程,代码生成,导出进程都可以自定义。对于数据库,你可以控制到特定的行或者列,读取哪些行,读取哪些列。对于输出的hdfs文件,可以指定特定的分隔符以及转义字符,以及文本的格式化。甚至可以控制生成代码的类和包的名字。

总结的来说,sqoop是基于mapreduce的一款db和hadoop之间的数据交换工具。后续的文档,将会介绍sqoop在使用时的参数。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:大数据 sqoop hadoop

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 21:40