生产环境选型:Hive对比Pig

Apache Hadoop 包括一个不断增长的软件库,可帮助用户管理数据。对于需要管理大量信息的组织而言,Hive 和 Pig 是两个最关键的 Hadoop 项目。以下 Hive 与 Pig 比较将帮助您确定哪个 Hadoop 组件更符合您的需求。您还将有机会了解替代 ETL 解决方案的优势,这些解决方案使数据管理和丰富变得更加容易。

Hive vs Pig:最关键的区别
显然,Hive 和 Pig 为用户提供了很多优势。您使用的工具可能取决于您的数据需求。你是数据分析师还是程序员?您使用结构化数据还是半结构化数据?

了解这些问题的答案将帮助您确定更适合您的选项。通过了解 Hive 与 Pig 最关键的区别,您可以专注于适合您和您的组织的工具。

Hive 具有将数据转换为报告的可靠功能,而 Pig 为您提供了一种编程语言,可帮助您从一个或多个数据库中提取所需的信息。
Hive 在服务器端工作,而 Pig 在集群的客户端工作。
Hive 可以访问原始数据,而 Pig Latin 脚本不能。
HiveQL 遵循数据分析师可以轻松掌握的声明性 SQL 语言,而 Pig 依赖于具有更大学习曲线的 SQL 变体。
Hive 处理结构化数据,而 Pig 可以处理结构化和半结构化数据。

什么是 Hive Hadoop?
Apache 的 Hadoop Hive 组件执行多种功能,帮助数据分析专业人员通过类似于 SQL 的操作界面定位和丰富数据。 如果您的团队成员已经了解 SQL,那么他们很容易开始使用 Hive。

数据分析师经常使用 Hive 来:

分析数据。
查询大量非结构化数据。
生成数据摘要。
Hive 为您提供了一种可靠的方式来定位和分析非结构化数据。 显然,Hive 并不是每个组织的完美工具,但它具有出色的功能,使其成为需要有效方式处理非结构化数据的团体的有用工具。

什么是Pig Hadoop?
Apache Pig 使用脚本语言 Pig Latin 从 Hadoop 中查找、提取和丰富数据结构化和半结构化数据。许多人发现 Pig Latin 有点难学。但是,克服学习曲线可以让用户更好地控制他们的 Hadoop 数据。

选择Pig的人经常指出它:

快速加载数据。
隐式定义表模式。
支持同组。
像所有数据工具一样,Pig 也有其优点和缺点。您可以深入了解以下优点和缺点,以帮助您确定是否要将 Pig 作为 Hadoop 策略的一部分。

Apache Hadoop 在 ETL 中的作用
有些人错误地认为 Apache Hadoop 是一种 ETL 工具,它为他们提供了提取、转换和加载数据所需的所有工具。 Hadoop 提供了一些出色的优势,但它不属于 ETL 类别。但是,如果使用得当,它可以改进 ETL 策略和项目。

许多人使用 Apache Hadoop 之类的数据,因为它可以:

提高性能并防止硬件出现故障。
在将流行类型的数据移动到 ETL 管道之前集成它们。
提高处理和传输大数据的速度。
在用户将受损数据转移到其他工具之前识别安全漏洞并警告用户。
注意可能擦除或损坏数据的风险,让您有机会在丢失项目的关键信息之前解决问题。
虽然将 Hadoop 称为 ETL 解决方案是不正确的,但您可以将其称为 ETL 助手。该解决方案有几个很棒的功能,可以提高 ETL 项目的速度和准确性。

Hive:优点和缺点
要了解有关 Hive 优缺点的更多信息,直接从经常使用 Hadoop 组件的人那里获取信息是有意义的。 TrustRadius 评论家给 Apache Hive 打了 7.8 分(满分 10 分)。

用户从 Hive 获得的一些优势包括:

对已经熟悉 SQL 的任何人都适用的简单查询。
可在需要时从多个服务器寻求增援的可扩展性。
为数据分析生成临时查询的选项。
它处理长时间运行的查询的能力如何。
它能够连接各种关系数据库,包括 Postgres 和 MySQL。
使用 Java 和 Python 编写自定义函数的选项。
简化 Hadoop 体验,尤其是当没有技术背景的人参与数据项目时。
这就是潜在用户在选择 Hive 时应该考虑的一系列积极特征。不过,用户也有很多批评。例如,Hive 的许多批评包括:

缺乏对在线处理数据的支持。
无法支持子查询,
更新数据的复杂方法。
即席查询速度慢。
缺乏让管理员为用户分配特定角色的安全控制。
将易用性置于处理速度之上,尤其是在批处理方面。
尽管许多用户赞赏 Hive 的查询语言是基于 SQL 构建的,但他们指出 Hive 遗漏了一些非常有用的 SQL 命令。这种缺陷迫使用户浪费时间重写应该自动附带 Hadoop 组件的命令。

Pig:优点和缺点
Apache Pig 的数值审查略胜 Apache Hive。 TrustRadius 用户给 Pig 打了 7.9 分(满分 10 分)。

Apache Pig 用户提到的一些优点包括:

与 MapReduce、Spark 和 Tez 一起使用的快速执行。
它能够处理几乎任何数量的数据,无论大小。
使其与其他工具(如 Hive 和 DBMS)结合以改进其功能的功能。
一个强大的文档流程,可帮助新用户学习 Pig Latin。
本地和远程互操作性,让专业人员可以在任何地方通过可靠的连接工作。
尽管很多人喜欢 Apache Pig,但它确实存在给用户带来问题的问题。针对 Pig 的一些投诉集中在:

无法解决复杂的数学问题。
难以实施顺序检查。
很少有用于循环数据的选项,这会增加用户的工作量。
有些人难以掌握的特定领域语言(猪拉丁语)。
显然,Apache 可以对 Pig 进行一些改进。然而,它确实填补了一个吸引某些用户的利基空间。

关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。更多免费资源在http://www.gitweixin.com/?p=2627

发表评论

邮箱地址不会被公开。 必填项已用*标注