hadoop - Apache Hive 是更多地用于编程语言还是数据仓库方面?

标签 hadoop hive

我曾经认为 Hive 只是一种类似 SQL 的编程语言,用于简化编写 MapReduce 类型的作业(即类似 SQL 的 Pig/Pig Latin 版本)。不过,我现在正在阅读更多有关它的信息,显然它实际上是一个完整的数据仓库基础设施。

这些用例中的一个更常见吗?也就是说,它主要用于它提供的数据仓库基础设施,还是更多用于类似 SQL 的接口(interface)?还是这两个方面具有同等的效用和重要性?

(我问是因为我想弄清楚我应该重点学习 Hive 的哪些部分。)

最佳答案

我以前也是这么想的。现在我已经有大约一个月的 Hive 使用经验,现在我发现它是一个很棒的 ETL 工具……对于以后的数据仓库。

Hive 无法与 MDX 进行比较。 Hive 是非常基于行的,不允许 SQL 或 MDX(多维表达式语言,在 BI 工具中很常见)擅长的许多更复杂的操作。

我们使用 Hive 作为 ETL 工具来集成我们不同的平面文件数据源,并减少我们必须上传到基于 SQL 的数据仓库的数据量。

如果该数据只有几周的半衰期,那么我们可以使数据库的大小保持在相对可控的范围内,以后始终能够从 Hive 中重现报告。

关于hadoop - Apache Hive 是更多地用于编程语言还是数据仓库方面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6400756/

相关文章:

Hadoop 和分析?

hadoop - 当我加载数据时,完整的“数据列”将被覆盖

hadoop - 如果分区列名称不正确,Hive将删除所有分区

performance - Hadoop Map reduce - 如何加速作业启动/设置

hadoop - hadoop版本不兼容

installation - 如何在本地主机(mac)上安装Mahout(Hadoop)

hadoop - 即使删除了数据库,Hive CLI 也会显示数据库使用情况

hadoop - 如何在 hive 中按特定列进行分区?

apache-spark - 带有 Hive Metastore 3.1.0 的 Apache Spark 2.3.1

hadoop - Hadoop灾难恢复