- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
邵思思目录Sqoop011SqoopSqoopSqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。Sqoop2的必威体育精装版版本是1.99.7。2与1不兼容,且特征不完整,它并不打算用于生产部署。Sqoop-架构Sqoop架构主要有Sqoop1架构和Sqoop2的架构,在架构上,Sqoop1仅仅使用一个Sqoop客户端;Sqoop2引入了Sqoop Server,对Connector实现了集中的管理,其访问方式也变得多样化了,其可以通过REST API、JAVA API、WEB UI以及CLI控制台方式进行访问。Sqoop1架构中我们经常用脚本的方式将HDFS中的数据导入到MySQL中,或者反过来将MySQL数据导入到HDFS中,需要在脚本显示指定MySQL数据库的用户名和密码,导致Sqoop1架构安全性做的不是太完善。Sqoop1 架构Sqoop-架构在Sqoop2中,如果是通过CLI方式访问的话,会有一个交互过程界面,输入的密码信息不会被看到,同时Sqoop2引入基于角色的安全机制,有较高的安全性。另外,Sqoop1虽然具有架构部署简单的优点,其缺点是命令行方式容易出错,格式紧耦合,无法支持所有数据类型,安全机制不够完善,例如密码暴漏,安装需要root权限,connector必须符合JDBC模型;Sqoop2具有的优点是多种交互方式,命令行,Web UI,REST API,Conncetor集中化管理,所有的链接安装在Sqoop Server上,完善权限管理机制,Connector规范化,仅仅负责数据的读写,缺点是架构复杂、配置部署繁琐。Sqoop2 架构Sqoop-导入工作流程在Sqoop2中,如果是通过CLI方式访问的话,会有一个交互过程界面,输入的密码信息不会被看到,同时Sqoop2引入基于角色的安全机制,有较高的安全性。1.sqoop会通过jdbc来获取需要的数据库的元数据信息,例如:导入的表的列名,数据类型。2.这些数据库的数据类型会被映射成为java的数据类型,根据这些信息,sqoop会生成一个与表名相同的类用来完成序列化工作,保存表中的每一行记录。3.sqoop开启MapReduce作业4.启动的作业在input的过程中,会通过jdbc读取数据表中的内容,这时,会使用sqoop生成的类进行序列化。5.最后将这些记录写到hdfs上,在写入hdfs的过程中,同样会使用sqoop生成的类进行反序列化。Sqoop2 架构Sqoop-导出工作流程在Sqoop2中,如果是通过CLI方式访问的话,会有一个交互过程界面,输入的密码信息不会被看到,同时Sqoop2引入基于角色的安全机制,有较高的安全性。1.首先sqoop通过jdbc访问关系型数据库,得到需要导出的数据的元数据信息。2.根据获取的元数据信息,sqoop生成一个java类,用来进行数据的传输载体,该类必须实现序列化。3.启动MapReduce程序4.sqoop利用生成的这个java类,并行的从hdfs中读取数据5.每一个map作业都会根据读取到的导出表的元数据信息和读取到的数据,生成一批的insert语句然后多个 map 作业会并行的向数据库 mysql 中插入数据。Sqoop2 架构
文档评论(0)