我是 Hadoop 生态系统工具的新手。谁能帮我理解蜂巢、直线和蜂巢之间的区别。
提前致谢!
阿帕奇蜂巢:
1] Apache Hive 是在 Hadoop 平台上构建的数据仓库基础架构,用于执行数据密集型任务,例如查询、分析、处理和可视化。
2] Hive 在编译时生成查询表达式。
3] 每个 Hive 查询都有这个“冷启动”问题
4] Hive 将要执行的查询转换为涉及开销的 MapReduce 作业。
5] Hive 是更通用、通用和可插拔的语言。
6] 对于兼容性和速度同样重要的升级项目。Hive 是一个理想的选择。
Cloudera 黑斑羚:
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]与直线连接:url 是一个 jdbc 连接字符串,指向 hiveServer2 主机。
终端> beeline -u url -n 用户名 -p 密码
或
终端> beeline beeline
> !connect jdbc:hive2://HiveServer2Host:Port
Cloudera Impala 是 Cloudera 的开源大规模并行处理 (MPP) SQL 查询引擎。Hortonworks 和 Amazon 不支持 Impala。更新: Hortonworks 与 Cloudera 合并,新公司名称为 Cloudera。而且亚马逊也支持 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