Hive3 新特性
一、 Hive3 的新功能
1. Hive3 的新功能
1) 性能提升
• 更好的 SQL 兼容性
Hive3 支持绝大多数最新的 ANSI SQL2016 标准。
• ACID v2
相比 Hive2 的 ACID v1,v2 在小文件、Stats、性能等方面都有了很大提升。
• 查询 Caching
配置单元过滤并缓存相似或相同的查询。Hive 不会重新计算未更改的数据,当数百个或数千个 BI 工具和 Web 服务的用户查询 Hive 时,缓存重复查询可以大大减少负载。
• 物化视图
多个查询经常需要相同的中间汇总表或联接表,所以可以通过将中间表预先计算和缓存到视图中来避免昂贵、重复的查询部分共享。
• Hive on Tez:
Hive3 底层计算引擎使用 Hive on Tez,通过内存来计算,性能是 Hive2 的 50 倍;
2) 事务特性优化
• 计划查询
• JDBC 联邦
启动后 Hive 从 JDBC 数据源创建两个数据库:information_schema 和 sys。
所有 Metastore 表都映射到表空间中,并且在 sys 中可用。
information_schema 数据显示系统状态,类似于 sys 数据库数据,可以使
用 SQL 标准查询来查询 information_schema。
• Kafka Connector 和 Cloud Connectors:实现直接操作组件存储和应用。
3) 托管表优化
在 Hive3 中严格控制了文件系统和计算机的内存资源,提高整体性能的可预测性以及安全性。
• 使用 ACID 来确定要读取的文件,而不依赖于之前的存储系统。
• Hive3 的文件移动比 Hive2 减少很多。
• 聚集的缓存元数据和数据减少对文件系统的操作。
4) Spark
可以使用 Hive 从 Spark 应用程序查询数据,Hive Warehouse Connector(HWC)支持从 Spark 读取和写入 Hive 数据。
2. 升级挑战:访问模式的更改
1) 更高的安全性
• KNOX 代理直接访问。
• 支持 SSL 接口访问。
• 完整的 Kerberos 实施。
• IDM 集成(许多服务的 PAM 默认值)
• 通过 KNOX 实现单点登录。
• 授权模型方面:CDP 采用 Ranger,Hive 强制实施 Ranger 中指定的访问控制,与其他安全方案相比,为模型提供更强的安全性,并且在管理策略方面提供更大的灵活性;此模型仅允许 Hive 访问数据仓库。如果您未启用 Ranger 安全服务或其他安全性,则默认情况下,Hive 会根据用户模拟使用 CDP 数据中心基于存储的授权。
• HDFS 权限更改:在 CDP 数据中心中,基于存储的授权严重依赖于 HDFS 访问控制列表(ACL),ACL 是 HDFS 中权限系统的扩展,默认情况下 CDP 数据中心在 HDFS 中打开 ACL。
2) Hive 自身变化
• HS2 vs. CLI(Beeline):Hive 和 Hive Sever 分离,通过 Hive Sever 2 提供访问,同时,Hive CLI 被 Beeline 取代。
• 旧版脚本:Hive1 和 Hive2 的旧版脚本,在 Hive3 中需要进行测试和调整。
• 新的默认值:比如默认路径、默认结构等。
• SQL 强制(CBO 改进)。
• 旧版的作业配置调整。
• 旧版摄取模式调整:比如小文件摄取。
• JDBC/ODBC 驱动更新。
• JDBC/ODBC 访问点控制。
• 资源映射。
• 托管表(v1 与 v2)。
• 非模拟。
• 更严格的 ACL 检查(DDL)。
3) Spark
• 访问托管表:Spark 不能直接访问 Hive 托管表,需要通过 HWC 进行操作,通过 HWC 从 Spark 访问 Hive ACID 表,外部表则无需通过 HWC。
• 组件升级(1.x 到 2.x)。
• 适应更安全的环境。
• 元存储翻译层。
• 数据位置。
3. 功能变化
• 托管表:使用 V2 版本,针对不同的文件格式产生不同的作用,在定义和默认位置方面都会有调整。
• 仓库位置:拆分托管表和外部表,以获得更好的治理标准。
• 安全防控:有模拟和非模拟方式,推荐使用非模拟方式访问。
• 数据安全治理:通过 ACL 整合和非模拟方式集成。
• LLAP:CDP 私有云和公有云版本中提供,而 Base 版本则不提供 LLAP。
• JDBC 驱动程序更新。
4. 功能移除
• 执行引擎不再支持 Hive on MR/Spark,由 Hive on Tez 执行。
• 移除 Hive CONCAT,使用 ACID 表。
• 移除 Hive Indexes,使用物化视图代替。
• 移除 Hive CLI,使用 Beeline。
• Tez View 从 DAS 中移到 Hue。
• Oozie 的 HiveAction 被 Hive2Action 代替。
《CDP企业数据云平台从入门到实践》——Hive4 新特性 (2) https://developer.aliyun.com/article/1228366?groupCode=ClouderaCDP