Cloudera 数据平台 (CDP) 服务,提供 Apache Tez 执行的 Apache Hive SQL 数据库。
Hive on Tez 服务提供基于 Apache Hive 3.x 的基于 SQL 的数据仓库系统。Hive 3.x 中相对于以前版本的增强可以提高 SQL 查询性能、安全性和审计功能。Hive Metastore (HMS) 是一个单独的服务,不是 Hive 的一部分,甚至不一定在同一个集群上。HMS 将元数据存储在后端,用于 Hive、Impala、Spark 和其他组件。
Apache Tez 是 Hive on Tez 服务的 Hive 执行引擎,其中包括 Cloudera Manager 中的 HiveServer (HS2)。不支持 MapReduce。在 Cloudera 集群中,如果遗留脚本或应用程序指定 MapReduce 执行,则会发生异常。大多数用户定义的函数 (UDF) 不需要更改即可在 Tez 而不是 MapReduce 上执行。
通过有向无环图 (DAG) 和数据传输原语的表达式,在 Tez 上执行 Hive 查询而不是 MapReduce 提高了查询性能。在 Cloudera Data Platform (CDP) 中,Tez 通常仅供 Hive 使用,并在 Tez 上的 Hive 启动时自动启动和管理 Tez AM。您提交给 Hive 的 SQL 查询执行如下:
- Hive 编译查询。
- Tez 执行查询。
- 为整个集群的应用程序分配资源。
- Hive 更新数据源中的数据并返回查询结果。
Hive on Tez 在临时容器上运行任务并使用标准的 YARN shuffle 服务。默认情况下,Hive 数据存储在 HDFS 上。如果您不启用 Ranger 安全服务或其他安全性,默认情况下 Hive 使用基于用户模拟的基于存储的授权 (SBA)。
原文链接:https://docs.cloudera.com/cdp-private-cloud-base/latest/hive-introduction/topics/hive-on-tez.html