gpt4 book ai didi

hadoop - Apache Pig 和 Apache Hive 有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 14:08:43 27 4
gpt4 key购买 nike

Pig 和 Hive 之间的确切区别是什么?我发现两者具有相同的功能意义,因为它们用于完成相同的工作。唯一不同的是实现方式。那么什么时候使用什么技术呢?是否有任何规范可以清楚地表明两者在适用性和性能方面的差异?

最佳答案

Apache Pig 和 Hive 是两个位于 Hadoop 之上的项目,它们为使用 Hadoop 的 MapReduce 库提供了更高级的语言。 Apache Pig 提供了一种脚本语言来描述读取、过滤、转换、连接和写入数据等操作——这正是 MapReduce 最初设计的目的。 Pig 不是用直接使用 MapReduce 的数千行 Java 代码来表达这些操作,而是让用户用一种类似于 bash 或 perl 脚本的语言来表达它们。 Pig 非常适合原型(prototype)设计和快速开发基于 MapReduce 的作业,而不是用 Java 本身编写 MapReduce 作业。

如果 Pig 是“Hadoop 的脚本”,那么 Hive 就是“Hadoop 的 SQL 查询”。 Apache Hive 提供了一种更具体、更高级的语言,用于通过运行 Hadoop 作业来查询数据,而不是直接在 Hadoop 上按部就类地编写多个 MapReduce 作业的操作脚本。该语言在设计上非常类似于 SQL。 Hive 仍然旨在作为对海量数据进行长时间运行的面向批处理的查询的工具;它在任何意义上都不是“实时”的。 Hive 对于习惯于类似 SQL 的查询和商业智能系统的分析师和业务开发类型来说是一个很好的工具;这将使他们能够轻松地利用您 Shiny 的新 Hadoop 集群来执行临时查询或跨存储在上述存储系统中的数据生成报告数据。

关于hadoop - Apache Pig 和 Apache Hive 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10279942/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com