📜  Apache Hive和 Apache Impala 之间的区别

📅  最后修改于: 2021-10-20 12:19:42             🧑  作者: Mango

Apache Hive:它是一个建立在Apache Hadoop之上的数据仓库软件项目,用于提供数据查询和分析。 Hive提供了一个类似于 SQL 的接口来查询存储在与 Hadoop 集成的各种数据库和文件系统中的数据。
它是一种高级分析语言,可让您利用对 SQL 的熟悉程度(无需单独编写 MapReduce 作业),那么 Apache Hive绝对是您要走的路。 HiveQL 查询无论如何都会转换为相应的 MapReduce 作业,该作业在集群上执行并为您提供最终输出。 Hive (及其底层 SQL,如 HiveQL 语言)确实有其局限性,如果您手头有非常细粒度、复杂的处理需求,您肯定想看看 MapReduce。

Apache Impala:它是一个开源的大规模并行处理 SQL 查询引擎,用于存储在运行 Apache Hadoop 的计算机集群中的数据。 Impala 被描述为相当于 Google F1 的开源版本,它激发了它在 2012 年的发展。
Cloudera Impala 是程序员在 HDFS 和 Apache HBase 上运行查询的绝佳选择,因为它不需要在处理之前移动或转换数据。 Cloudera Impala 可轻松与 Hadoop 生态系统集成,因为其文件和数据格式、元数据、安全性和资源管理框架与 MapReduce、Apache Hive、Apache Pig 和其他 Hadoop 软件使用的框架相同。

Hive 与 Impala

下表列出了 Apache Hive和 Apache Impala 之间的差异:

S.No. Apache Hive Apache Impala
1. Hive is perfect for those project where compatibility and speed are equally important Impala is an ideal choice when starting a new project
2. Hive translates queries to be executed into MapReduce jobs Impala responds quickly through massively parallel processing
3. Versatile and plug-able language Used for brute force processing
4. Every hive query has this problem of “cold start” It avoids startup overhead as daemon processes are started at boot time
5. It has SQL like queries It provides HDFS and apache HBase storage support
6. Use familiar built in user defined functions(UFFDs) to manipulate the data Can easily read metadata using driver and SQL syntax from apache hive
7. It is data warehouse infrastructure build over hadoop platform It doesn’t require data to be moved or transformed
8. Used for analysis processing and visualization Used by programmers for running queries on HDFS and apache HBase