蜂巢、黑斑羚和直线之间的区别
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
【讨论】:
以上是关于蜂巢、黑斑羚和直线之间的区别的主要内容,如果未能解决你的问题,请参考以下文章