《CDP企业数据云平台从入门到实践》——CDP之数据仓库(5)

简介: 《CDP企业数据云平台从入门到实践》——CDP之数据仓库(5)

《CDP企业数据云平台从入门到实践》——CDP之数据仓库(4) https://developer.aliyun.com/article/1226337?groupCode=ClouderaCDP


三、 Hive 使用

1. Spark 与 Hive 集成


要从 Spark 访问 Hive,您需要隐式或显式使用 HWC。


您可以使用 Hive 仓库连接器(HWC)从 Spark 访问 Hive 管理的表。HWC 专门设计用于访问托管的 ACID v2 Hive 表,并支持写入 Parquet、ORC、Avro 或 Textfile 格式的表。HWC 是与 Spark 应用程序一起启动的 Spark 库/插件。


您不需要 HWC 来读取或写入 Hive 外部表。Spark 使用本机 Spark 访问外部表。


将 Spark Direct Reader 和 HWC 用于 ETL 作业。对于其他作业,请考虑使用 Apache Ranger 和 HiveWarehouseConnector 库来提供行和列的细粒度数据访问。


HWC 支持 spark-submit 和 pyspark。不支持 spark thrift 服务器。

2. Hive on Tez 介绍


Cloudera Data Platform(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 而不是 MapReduce 上执行 Hive 查询可以提高查询性能。在 Cloudera Data Platform(CDP)中,Tez 通常只被 Hive 使用,当 Hive on Tez 启动时自动启动并管理 Tez AM。您提交给 Hive的 SQL 查询执行如下:


• Hive 编译查询。

• Tez 执行查询。

• 为整个集群的应用程序分配资源。

• Hive 更新数据源中的数据并返回查询结果。


3. Apache Hive 3 架构概述


了解 Apache Hive 的 3 个主要设计特性,例如默认的 ACID 事务处理,可以帮助您使用 Hive 来满足企业数据仓库系统不断增长的需求。


1) 数据存储和访问控制


支持 Hive 3 设计的主要架构更改之一使 Hive 可以更好地控制元数据内存资源和文件系统或对象存储。从 Hive 2 到 Hive 3 的以下体系结构更改提供了改进的安全性:


• 严格控制文件系统和计算机内存资源,取代灵活的边界:明确的边界增加了可预测性。更好的文件系统控制提高了安全性。


• 共享文件和容器中的优化工作负载。


Hive 3 通过以下方式针对对象存储进行了优化:


• Hive 使用 ACID 来确定要读取哪些文件,而不是依赖于存储系统。CDP 之数据仓库 270

• 在 Hive 3 中,文件移动比 Hive 2 中的少。

• Hive 积极缓存元数据和数据以减少文件系统操作


Hive 的主要授权模型是 Ranger。Hive 强制执行 Ranger 中指定的访问控制。该模型提供了比其他安全方案更强的安全性和管理策略的更大灵活性。该模型只允许 Hive 访问 Hive 仓库。


2) 事务处理


您可以利用以下事务处理特征来部署新的 Hive 应用程序类型:

• 成熟版本的 ACID 事务处理

ACID 表是默认的表类型。

默认情况下启用的 ACID 不会导致性能或操作过载。

• 简化的应用程序开发、具有强大事务保证的操作以及 SQL 命令的简单语义

您不需要存储 ACID 表。

• 物化视图重写

• 自动查询缓存

• 高级优化

3) Hive 客户端更改

您可以使用瘦客户端 Beeline 从客户端查询 Hive。您可以从客户端运行 Hive 管理命令。Beeline 使用与 Hive 的 JDBC 连接来运行命令。Hive 解析、编译和运行操作。Beeline 支持 Hive CLI 支持的许多命令行选项。Beeline 不支持 hive -e set key=value配置 Hive Metastore。


您可以通过使用 hive 关键字、命令选项和命令调用 Beeline 来输入支持的 Hive CLI

命令。例如,hive -e set。使用 Beeline 代替不再受支持的胖客户端 Hive CLI 有几个

优点,包括低开销。Beeline 不使用整个 Hive 代码库。运行查询所需的少量守护进

程简化了监控和调试。


Hive 强制执行允许列表和拒绝列表设置,您可以使用 SET 命令更改这些设置。使用

拒绝列表,您可以限制内存配置更改以防止不稳定。具有不同允许列表和拒绝列表

的不同 Hive 实例可建立不同级别的稳定性。


4) Apache Hive Metastore 共享


Hive、Impala 和其他组件可以共享远程 Hive 元存储。


5) 批处理和交互式工作负载的查询执行


您可以使用 JDBC 命令行工具(例如 Beeline)或将 JDBC/ODBC 驱动程序与 BI 工具(例如 Tableau)结合使用来连接到 Hive。您为每个实例配置设置文件以执行批处

理或交互式处理。

目录
相关文章
|
22天前
|
存储 Cloud Native 关系型数据库
云原生数据仓库使用问题之如何将一行数据转换为多行数据
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
3月前
|
存储 机器学习/深度学习 数据采集
【专栏】在数字化时代,数据仓库和数据湖成为企业管理数据的关键工具
【4月更文挑战第27天】在数字化时代,数据仓库和数据湖成为企业管理数据的关键工具。数据仓库是经过规范化处理的结构化数据集合,适合支持已知业务需求;而数据湖存储原始多类型数据,提供数据分析灵活性。数据仓库常用于企业决策、财务分析,而数据湖适用于大数据分析、机器学习和物联网数据处理。企业需根据自身需求选择合适的数据存储方式,以挖掘数据价值并提升竞争力。理解两者异同对企业的数字化转型至关重要。
94 2
|
22天前
|
存储 SQL Cloud Native
云原生数据仓库使用问题之如何将数据设置为冷存储
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
22天前
|
Cloud Native 关系型数据库 MySQL
云原生数据仓库使用问题之如何将ADB中的数据导出到自建的MySQL数据库
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
23天前
|
数据采集 存储 数据管理
OneData:阿里巴巴的数据仓库之旅与统一数据治理实践
OneData 为解决大数据时代的挑战提供了一条可行的道路,对于其他企业和组织来说具有重要的参考意义。随着技术的不断进步和应用场景的扩展,OneData 的未来发展值得期待。
|
2月前
|
存储 SQL Cloud Native
云原生数据仓库AnalyticDB产品使用合集之热数据存储空间在什么地方查看
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
2月前
|
Cloud Native 关系型数据库 MySQL
云原生数据仓库AnalyticDB产品使用合集之是否支持mysql_fdw 和clickhousedb_fdw外部数据包装器
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
127 4
|
2月前
|
监控 Cloud Native 关系型数据库
云原生数据仓库AnalyticDB产品使用合集之如何更新、删除和导入AnalyticDBMySQL数据
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
2月前
|
运维 Cloud Native 关系型数据库
云原生数据仓库AnalyticDB产品使用合集之一次性最多能查询多少条数据
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
3月前
|
Cloud Native 关系型数据库 MySQL
云原生数据仓库产品使用合集之在ADB中,如何将源数据的多表(数据结构一致)汇总到一张表
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。

热门文章

最新文章