昨日阅读2小时,总计70.5小时
基本架构(目前有两个版本1.4.x和1.99.x)两者完全不兼容
Sqoop1是一客户端工具,无需启动任何服务便可以使用。从RDB中读取元信息,根据并发度和数据表大小,分片,交给Map Task处理。
Map Task同时读取DB中的数据,并行将数据写入目标存储系统,如HDFS、HBase和Hive等
缺点:仅支持JDBC的connector,通用的功能需要自己开发,Connector与Hadoop耦合度高,需要对Hadoop有充分的理解和学习。
要求安装的客户端软件繁多,不易部署;安全性差(明文提供用户名和密码)。
Sqoop2:引入了Sqoop Server,将所有管理工作放到了Server端。含connector管理、MySQL/Hadoop相关客户端、安全认证等。使得Sqoop客户端非常轻量。
主要组件和功能:
Sqoop client(命令行和浏览器两种访问方式)
Sqoop Server:Connector、Partitioner(对源数据进行分片,SqoopSplit)、Extractor(将一个分片中的数据解析成一条条记录,并输出)、Loader(读取Extractor的输出,以特定格式写入目标数据源)
MetaData:Sqoop中的元信息,默认存储于Apache Derby(轻量级数据库),用户可根据需要替换成MySQL或其他RDB
RESTful和Http Server