蜂巢、黑斑羚和直线之间的区别

Posted

技术标签:

【中文标题】蜂巢、黑斑羚和直线之间的区别【英文标题】:Difference between hive, impala and beeline 【发布时间】:2016-12-16 11:26:43 【问题描述】:

我是 Hadoop 生态系统工具的新手。 谁能帮我理解蜂巢、直线和蜂巢之间的区别。

提前致谢!

【问题讨论】:

【参考方案1】:

Apache Hive:

1] Apache Hive 是基于 Hadoop 平台构建的数据仓库基础架构,用于执行数据密集型任务,例如查询、分析、处理和可视化。 2] Hive 在编译时生成查询表达式。 3] 每个Hive查询都有这个“冷启动”的问题 4] Hive 将要执行的查询转换为涉及开销的 MapReduce 作业。 5] Hive 是更通用、通用和可插拔的语言。 6] 对于兼容性和速度同样重要的升级项目。 Hive 是一个理想的选择。

Cloudera Impala:

1] Impala 是程序员在 HDFS 和 Apache HBase 上运行查询的绝佳选择,因为它不需要移动或转换数据。 2] Impala 使用 llvm 为“大循环”生成运行时代码。 3] Impala 避免了启动开销,因为守护进程本身在启动时启动,始终准备好处理查询。 4] Impala 通过大规模并行处理快速响应。 5] Impala 用于释放其强大的处理能力并提供闪电般快速的分析结果。 6] Impala 是开始新项目时的理想选择。

直线:

1] Hive CLI 直接连接到 Hive 驱动程序,并要求将 Hive 与客户端安装在同一台计算机上。 2] 但是,Beeline 连接到 HiveServer2 并且不需要在与客户端相同的机器上安装 Hive 库。 3] Beeline 是一个瘦客户端,它也使用 Hive JDBC 驱动程序,但通过 HiveServer2 执行查询,允许多个并发客户端连接并支持身份验证。 4] Cloudera 的 Sentry 安全性通过 HiveServer2 而不是 Hive CLI 使用的 HiveServer1 工作。所以 hive 虽然命令行不会遵循 Setry 的策略。根据 cloudera 文档,您不应使用 Hive CLI 和 WebHCat。请改用beeline 或 impala-sell。 5] Connect with Beeline : url是一个jdbc连接字符串,指向hiveServer2主机。终端> beeline -u url -n username -p password 终端>直线直线> !connect jdbc:hive2://HiveServer2Host:Port

【讨论】:

【参考方案2】:

Cloudera Impala 是 Cloudera 的开源大规模并行处理 (MPP) SQL 查询引擎。 Hortonworks 和 Amazon 不支持 Impala。 更新: Hortonworks 与 Cloudera 合并,新公司名称为 Cloudera。和Amazon also supports Impala。 MapR 还支持 Impala。 Impala 在后台不使用 Map-Reduce,并且比 Hive 运行得更快。

Apache Hive 是一个建立在 Hadoop 之上的数据库,用于提供数据汇总、查询和分析。得到所有 Hadoop 供应商的支持。非常可靠,几乎可以无限扩展并处理非常大的数据,在后台使用 Map-Reduce 框架原语,即使配置为在 Tez 执行引擎上运行。可以使用 Tez 或 MR(在 Hive 2.x 中已弃用)执行引擎。

Beeline 是 Hive 客户端。见这里:https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.4/bk_dataintegration/content/beeline-vs-hive-cli.html

【讨论】:

以上是关于蜂巢、黑斑羚和直线之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

Impala:大数据丛林中敏捷迅速的黑斑羚

我们所做的一切,只为您而改变:2014 Chevrolet Impala 黑斑羚 深度解析

更新表 |黑斑羚 | SQL | Hadoop

OBIEE 连接到黑斑羚

基于一周范围的窗口对列值求和(黑斑羚)

如何在pyspark中连接到黑斑羚?