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 软件使用的框架相同。
下表列出了 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 |