继我们上篇文章《在AWS Glue中使用Apache Hudi》介绍了如何在Glue中同步Hudi元数据之后,本文我们再简短截说一下Hudi在EMR上的元数据同步。

首先,EMR对于元数据的存储提供两种方案:一是标准的Hive Metastore ,将元数据存储在一个外置关系型数据库上;二是使用Glue Catalog。显然,如果使用标准Hive Metastore,我们不必担心Hudi同步元数据有任何问题,需要我们确认的是在EMR使用Glue Catalog时,应该如何配置元数据同步。

先说结论:当EMR使用Glue Catalog时,Hudi依然可以正常同步元数据到Hive,不必做特殊配置,尤其是不必像在Glue中那样配置DataSourceWriteOptions.HIVE_USE_JDBC_OPT_KEY -> "false"。原因很简单,虽然EMR使用了Glue Catalog,但EMR上却有Glue上没有的HiveServer2服务,也就意味着Hudi可以通过JDBC与Glue Catalog交互。这背后的原因同样是因为EMR让HiveServer2使用AWSCatalogMetastoreClient与Glue Catalog交互,关于这一点,请参考《在AWS Glue中使用Apache Hudi》一文的 《3.4. 将Hudi元数据同步到Glue Catalog》

再延伸一下,如果我们在EMR中配置了DataSourceWriteOptions.HIVE_USE_JDBC_OPT_KEY -> "false"会怎样呢?在EMR 5上依然是可以正常工作的,只是同步方式从JDBC改为了由AWSCatalogMetastoreClient实现的IMetastoreClient,这与在Glue上使用Hudi的方式是一致的。但是,有一点要注意,在目前的EMR 6 + Hudi 0.7版本上,如果配置了DataSourceWriteOptions.HIVE_USE_JDBC_OPT_KEY -> "false",会报如下错误:

java.lang.ClassNotFoundException: org.apache.calcite.rel.type.RelDataTypeSystem

这是由于Hive3/Spark3移除了对于calcite包的依赖引起的,所以不建议在EMR上配置DataSourceWriteOptions.HIVE_USE_JDBC_OPT_KEY -> "false",这与Glue中的配置是完全相反的,因为Glue的Spark版本是2.4.3


关于作者:耿立超,架构师,15年IT系统开发和架构经验,对大数据、企业级应用架构、SaaS、分布式存储和领域驱动设计有丰富的实践经验,热衷函数式编程。对Hadoop/Spark 生态系统有深入和广泛的了解,参与过Hadoop商业发行版的开发,曾带领团队建设过数个完备的企业数据平台,个人技术博客:https://laurence.blog.csdn.net/ 作者著有《大数据平台架构与原型实现:数据中台建设实战》一书,该书已在京东和当当上线。

Apache Hudi在AWS Glue和AWS EMR上同步元数据的异同相关推荐

  1. aws rds监控慢sql_如何将AWS RDS SQL Server与AWS Glue连接

    aws rds监控慢sql This article gives you an overview of configuring AWS RDS SQL Server with AWS Glue ser ...

  2. aws rds恢复数据库_使用AWS Glue将数据从AWS S3加载到AWS RDS SQL Server数据库

    aws rds恢复数据库 This article explains how to develop ETL (Extract Transform Load) jobs using AWS Glue t ...

  3. Apache+Hudi入门指南: Spark+Hudi+Hive+Presto

    一.整合 hive集成hudi方法:将hudi jar复制到hive lib下 cp ./packaging/hudi-hadoop-mr-bundle/target/hudi-hadoop-mr-b ...

  4. 使用Apache Hudi + Amazon S3 + Amazon EMR + AWS DMS构建数据湖

    1. 引入 数据湖使组织能够在更短的时间内利用多个源的数据,而不同角色用户可以以不同的方式协作和分析数据,从而实现更好.更快的决策.Amazon Simple Storage Service(amaz ...

  5. Apache Hudi 0.7.0 和 0.8.0 新功能已在 Amazon EMR 中可用

    文末限时福利倒计时3天,不要错过! 前言 Apache Hudi 是一个开源事务性数据湖框架,通过提供记录级插入.更新和删除功能,极大地简化了增量数据处理和数据管道开发.如果您要在 Amazon Si ...

  6. 基于Apache Hudi构建智能湖仓实践(附亚马逊工程师代码)

    数据仓库的数据体系严格.治理容易,业务规模越大,ROI 越高:数据湖的数据种类丰富,治理困难,业务规模越大,ROI 越低,但胜在灵活. 现在,鱼和熊掌我都想要,应该怎么办?湖仓一体架构就在这种情况下, ...

  7. Apache Flink 集成 Apache Hudi 快速入门指南

    摘要:本文由阿里巴巴的陈玉兆分享,主要介绍 Flink 集成 Hudi 的最新版本功能以及快速上手实践指南.内容包括: 背景 环境准备 Batch 模式的读写 Streaming 读 总结 一.背景 ...

  8. 探索Apache Hudi核心概念 (1) - File Layouts

    在以往众多介绍Apcache Hudi的文章中,对核心概念的解读大多会引用官方文档中的概念图,像Timeline(时间线).File Layouts(文件布局)这类结构清晰,逻辑严谨的概念,图解是很好 ...

  9. 技术干货|基于Apache Hudi 的CDC数据入湖

    简介:阿里云技术专家李少锋(风泽)在Apache Hudi 与 Apache Pulsar 联合 Meetup 杭州站上的演讲整理稿件,本议题将介绍典型 CDC 入湖场景,以及如何使用 Pulsar/ ...

最新文章

  1. 为啥有的程序员不爱说话,却表达能力爆表?(附教程)
  2. [剑指offer]面试题19:二叉树的镜像
  3. 语言专项精讲课程 赵海英_最全汇总:沪江日语课程体系指南
  4. USB On-The-Go引脚
  5. three.js 后期处理,物体高亮
  6. perl学习之:肯定匹配和否定匹配
  7. 推荐:jQuery提示插件qTip2
  8. 机器学习最简单算法——KNN算法(K-Nearest Neighbor)
  9. 勒索病毒全系列补丁下载链接
  10. 业务层——跨越边界传输数据
  11. H.265 SAO技术
  12. 一些内网穿透的软件一览表
  13. 触摸传递 Touch Delivery
  14. 电脑快捷操作方式大全
  15. java项目开发实践经验每日总结(2014/2/22)
  16. Python:实现字符串Z 函数或 Z 算法(附完整源码)
  17. python对文件进行tar和gz格式的压缩和解压缩(亲测,可用)
  18. MindMapper使用技巧分享
  19. 阿里飞绪: poll 性能回归分析
  20. signature=689995ceebd2e64b214c3148d7b8e47a,WDR34基因突变致窒息性胸廓发育不良1例报道并文献复习...

热门文章

  1. 软件测试与游戏测试的区别
  2. 逻辑斯蒂回归(Logistic)
  3. 2011年12月黄山旅游——照片
  4. java动态规划装箱问题,最少数量货物装箱问题
  5. [摘]固态硬盘与U盘的区别
  6. redis.windows-service.conf和redis.windows.conf的区别
  7. C++中append函数的用法
  8. [学习笔记]Spring Cloud实战至投降(一)
  9. 背水一战 Windows 10 (4) - UI: 多窗口
  10. 五、Nginx 被动检查服务器的存活状态