摘要:,类似于其他工具,使用元数据模型来判断数据类型并在数据从数据源转移到时确保类型安全的数据处理。默认情况下的并行意味着假设大数据是在分区键范围内均匀分布的。直接驱动需要特权来读取类似和这样的元数据。
Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易。Apache Sqoop正在加紧帮助客户将重要数据从数据库移到Hadoop。
正当大数据变得越来越重要,而越来越多应用都在云上部署时,云管理员也面临了不断增长的将数据从源系统转移到分析系统——其中最热门的就是Hadoop——的需求。ETL工具的自定义脚本在过去辅助了这种数据迁移,现在Apache Sqoop正崛起成为更好的选择。
随着Hadoop和关系型数据库之间的数据移动渐渐变成一个标准的流程,云管理员们能够利用Sqoop的并行批量数据加载能力来简化这一流程,降低编写自定义数据加载脚本的需求。
Apache Sqoop是一个将数据在关系数据库及Hadoop之间转移的命令行工具。对于某些NoSQL数据库它也提供了连接器。Sqoop,类似于其他ETL工具,使用元数据模型来判断数据类型并在数据从数据源转移到Hadoop时确保类型安全的数据处理。Sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块。
Sqoop有一个非常小的命令集,里面包括导入和导出,列出数据库和表信息,生成Java类来操纵数据,解析SQL命令以及其他一些更专门的命令。生成Java类的命令对于在Hadoop里编写Java应用来进行数据操作特别有用。SQL解析命令可以显示执行SQL语句的结果,这在搜索新数据库或产生复杂逻辑的查询时非常有用。
使用Sqoop比自定义脚本有一定的优势。其一就是,Sqoop被设计成具备容错性。你也可以自定义脚本来监控你的工作状态,然后从故障中恢复,但是那有可能难以置信的耗时。
使用Sqoop需要注意的地方
尽管有以上的优点,在使用Sqoop的时候还有一些事情需要注意。首先,对于默认的并行机制要小心。默认情况下的并行意味着Sqoop假设大数据是在分区键范围内均匀分布的。这在当你的源系统是使用一个序列号发生器来生成主键的时候工作得很好。打个比方,当你有一个10个节点的集群,那么工作负载是在这10台服务器上平均分配的。但是,如果你的分割键是基于字母数字的,拥有比如以“A”作为开头的键值的数量会是“M”作为开头键值数量的20倍,那么工作负载就会变成从一台服务器倾斜到另一台服务器上。
如果你最担心是性能,那么可以研究下直接加载。直接加载绕过通常的Java数据库连接导入,使用数据库本身提供的直接载入工具,比如MySQL的mysqldump。但是有特定数据库的限制。比如,你不能使用MySQL或者PostgreSQL的连接器来导入BLOB和CLOB类型。也没有驱动支持从视图的导入。Oracle直接驱动需要特权来读取类似dba_objects和v_$parameter这样的元数据。请查阅你的数据库直连驱动程序局限性的相关文档。
进行增量导入是与效率有关的更受关注的问题,因为Sqoop专门是为大数据集设计的。Sqoop支持增量更新,将新记录添加到最近一次的导出的数据源上,或者指定上次修改的时间戳。
由于Sqoop将数据移入和移出关系型数据库的能力,其对于Hive—Hadoop生态系统里的著名的类SQL数据仓库—有专门的支持不足为奇。命令“create-hive-table”可以用来将数据表定义导入到Hive。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/4122.html
本期与大家分享的是,小北精心整理的大数据学习笔记,数据采集工具Sqoop 的详细介绍,希望对大家能有帮助,喜欢就给点鼓励吧,记得三连哦!欢迎各位大佬评论区指教讨论! ???制作不易,各位大佬们给点鼓励! ???点赞? ➕ 收藏⭐ ➕ 关注✅ ???欢迎各位大佬指教,一键三连走起! 一、理论学习篇 1、Sqoop简介 在阿帕奇阁楼(The Apache Attic)中,...
摘要:大数据框架服务角色介绍翻了一下最近一段时间写的分享,发行版本下载安装运行环境部署等相关内容几乎都已经写了一遍了。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 大数据框架hadoop服务角色介绍翻了一下最近一段时间写的分享,DKHadoop发行版本下载、安装、运行环境部署等相关内容几乎都已经写了一遍了。虽然有的地方可能写的不是很详细,个人理解水平有限还请见谅吧!我记得在...
摘要:如果我们可以克服一些数据迁移的挑战,将一个数据仓库以及其数据分析工具从数据中心中的专用服务器转移到基于云的文件系统和数据库就可以解决这个问题。数据迁移工具辅助向云端迁移从数据库抽取数据很容易,从数据库中有效挖掘大容量数据确是一项挑战。 云计算和数据仓库是合理的一对。云存储可以按需扩展,云可以将大量服务器贡献于某一具体任务。数据仓库通用功能是本地数据分析工具,受到计算和存储 资源的限制,同时也...
摘要:如果我们可以克服一些数据迁移的挑战,将一个数据仓库以及其数据分析工具从数据中心中的专用服务器转移到基于云的文件系统和数据库就可以解决这个问题。数据迁移工具辅助向云端迁移从数据库抽取数据很容易,从数据库中有效挖掘大容量数据确是一项挑战。 云计算和数据仓库是合理的一对。云存储可以按需扩展,云可以将大量服务器贡献于某一具体任务。数据仓库通用功能是本地数据分析工具,受到计算和存储资源的限制,同时也受...
阅读 821·2021-11-15 11:37
阅读 3577·2021-11-11 16:55
阅读 3254·2021-11-11 11:01
阅读 982·2019-08-30 15:43
阅读 2718·2019-08-30 14:12
阅读 658·2019-08-30 12:58
阅读 3352·2019-08-29 15:19
阅读 1960·2019-08-29 13:59