《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。您为每个实例配置设置文件以执行批处

理或交互式处理。

目录
相关文章
|
3月前
|
存储 数据管理 BI
揭秘数据仓库的奥秘:数据究竟如何层层蜕变,成为企业决策的智慧源泉?
【8月更文挑战第26天】数据仓库是企业管理数据的关键部分,其架构直接影响数据效能。通过分层管理海量数据,提高处理灵活性及数据一致性和安全性。主要包括:数据源层(原始数据)、ETL层(数据清洗与转换)、数据仓库层(核心存储与管理)及数据服务层(提供分析服务)。各层协同工作,支持高效数据管理。未来,随着技术和业务需求的变化,数仓架构将持续优化。
76 3
|
4月前
|
存储 Cloud Native 关系型数据库
云原生数据仓库使用问题之如何将一行数据转换为多行数据
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
2月前
|
存储 机器学习/深度学习 数据管理
数据技术的进化史:从数据仓库到数据中台再到数据飞轮
数据技术的进化史:从数据仓库到数据中台再到数据飞轮
|
2月前
|
机器学习/深度学习 消息中间件 搜索推荐
【数据飞轮】驱动业务增长的高效引擎 —从数据仓库到数据中台的技术进化与实战
在数据驱动时代,企业逐渐从数据仓库过渡到数据中台,并进一步发展为数据飞轮。本文详细介绍了这一演进路径,涵盖数据仓库的基础存储与查询、数据中台的集成与实时决策,以及数据飞轮的自动化增长机制。通过代码示例展示如何在实际业务中运用数据技术,实现数据的最大价值,推动业务持续优化与增长。
79 4
|
1月前
|
存储 数据管理 大数据
从数据仓库到数据中台再到数据飞轮:社交媒体的数据技术进化史
从数据仓库到数据中台再到数据飞轮:社交媒体的数据技术进化史
|
3月前
|
Java Spring 监控
Spring Boot Actuator:守护你的应用心跳,让监控变得触手可及!
【8月更文挑战第31天】Spring Boot Actuator 是 Spring Boot 框架的核心模块之一,提供了生产就绪的特性,用于监控和管理 Spring Boot 应用程序。通过 Actuator,开发者可以轻松访问应用内部状态、执行健康检查、收集度量指标等。启用 Actuator 需在 `pom.xml` 中添加 `spring-boot-starter-actuator` 依赖,并通过配置文件调整端点暴露和安全性。Actuator 还支持与外部监控工具(如 Prometheus)集成,实现全面的应用性能监控。正确配置 Actuator 可显著提升应用的稳定性和安全性。
127 0
|
4月前
|
存储 SQL Cloud Native
云原生数据仓库使用问题之如何将数据设置为冷存储
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
4月前
|
Cloud Native 关系型数据库 MySQL
云原生数据仓库使用问题之如何将ADB中的数据导出到自建的MySQL数据库
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
4月前
|
数据采集 存储 数据管理
OneData:阿里巴巴的数据仓库之旅与统一数据治理实践
OneData 为解决大数据时代的挑战提供了一条可行的道路,对于其他企业和组织来说具有重要的参考意义。随着技术的不断进步和应用场景的扩展,OneData 的未来发展值得期待。
|
5月前
|
存储 SQL Cloud Native
云原生数据仓库AnalyticDB产品使用合集之热数据存储空间在什么地方查看
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
117 4

热门文章

最新文章