小编典典

何时使用 Hadoop、HBase、Hive 和 Pig?

all

使用 HadoopHBaseHive 有什么好处?

据我了解, HBase 避免使用 map-reduce,并且在 HDFS 之上具有面向列的存储。 HiveHadoop
HBase 的类似 sql 的接口。

我也想知道 HivePig 的比较。


阅读 176

收藏
2022-07-09

共1个答案

小编典典

MapReduce 只是一个 计算框架 。HBase 与它无关。也就是说,您可以通过编写 MapReduce 作业有效地将数据放入 HBase 或从
HBase 获取数据。或者,您可以使用其他 HBase API(例如 Java)编写顺序程序来放置或获取数据。但是我们使用 Hadoop、HBase
等来处理大量数据,所以这没有多大意义。当您的数据太大时,使用普通的顺序程序将非常低效。

回到问题的第一部分,Hadoop 基本上是两件事: 分布式文件系统 (HDFS) + 计算或处理框架 (MapReduce) 。与所有其他
FS 一样,HDFS 也为我们提供存储,但以容错方式具有高吞吐量和较低的数据丢失风险(由于复制)。但是,作为 FS,HDFS 缺乏 随机读写访问
。这就是 HBase 发挥作用的地方。它是一个 分布式、可扩展的大数据存储 ,以 Google 的 BigTable
为蓝本。它将数据存储为键/值对。

来到蜂巢。它在现有的 Hadoop 集群之上为我们提供了数据 仓库设施。 除此之外,它还提供了一个 类似 SQL 的 界面,如果您来自
SQL 背景,它可以让您的工作更轻松。您可以在 Hive 中创建表并在其中存储数据。除此之外,您甚至可以将现有的 HBase 表映射到 Hive
并对其进行操作。

而 Pig 基本上是一种 数据流语言 ,它使我们能够非常轻松快速地处理大量数据。Pig 基本上有两部分:Pig Interpreter
和语言 PigLatin 。您在 PigLatin 中编写 Pig 脚本并使用 Pig 解释器处理它们。Pig 让我们的生活轻松了很多,否则写
MapReduce 总是不容易。事实上,在某些情况下,它真的会成为一种痛苦。

不久前,我写了一篇文章,对 Hadoop
生态系统的不同工具进行了简短的比较
。这不是深度比较,而是对这些工具的简短介绍,可以帮助您入门。(只是为了补充我的答案。无意自我推销)

Hive 和 Pig 查询都在后台转换为 MapReduce 作业。

高温高压

2022-07-09