Apache Hudi初探(七)(与spark的结合)

简介: Apache Hudi初探(七)(与spark的结合)

背景


目前hudi的与spark的集合还是基于spark datasource V1来的,这一点可以查看hudi的source实现就可以知道:

class DefaultSource extends RelationProvider
  with SchemaRelationProvider
  with CreatableRelationProvider
  with DataSourceRegister
  with StreamSinkProvider
  with StreamSourceProvider
  with SparkAdapterSupport
  with Serializable {

闲说杂谈


接着Apache Hudi初探(二)(与spark的结合)中剩下的:

    val syncHiveSuccess = metaSync(sqlContext.sparkSession, writeConfig, basePath, df.schema)

这里主要是同步到数据到hive的元数据中,如果hoodie.datasource.hive_sync.enable开启(默认是false,不开启)


则会设置hoodie.datasource.meta.sync.enable为true(默认是false,不开启),于此同时会把HiveSyncTool类加入到syncClientToolClassSet集合中,便于后续调用,当然如果设置了hoodie.meta.sync.client.tool.class,也会加入到该集合中。

如果hoodie.datasource.meta.sync.enable为true ,


会设置hoodie.datasource.hive_sync.schema_string_length_thresh为spark.sql.sources.schemaStringLengthThreshold 默认是4000

设置hoodie.meta_sync.spark.versio为当前spark的版本


设置hoodie.meta.sync.metadata_file_listing 为hoodie.metadata.enable (默认是true)

之后调用HiveSyncTool的syncHoodieTable方法来进行元数据的同步,


对于MOR表来说,会有两张表,一张是rt 表,一张是ro表,分别对应snapshot表(实时表)和读优化表


但是如果hoodie.datasource.hive_sync.skip_ro_suffix为true (默认是false),则读优化表,则不会加 ro 后缀


最后还会在spark中刷新刚才建立的表,这样才spark的查询中就能查询到插入的hudi表

相关文章
|
2月前
|
存储 Apache
Apache Hudi Savepoint实现分析
Apache Hudi Savepoint实现分析
36 0
|
2月前
|
存储 机器学习/深度学习 Apache
如何将Apache Hudi应用于机器学习
如何将Apache Hudi应用于机器学习
22 0
|
2月前
|
Apache 索引
精进Hudi系列|Apache Hudi索引实现分析(五)之基于List的IndexFileFilter
精进Hudi系列|Apache Hudi索引实现分析(五)之基于List的IndexFileFilter
17 0
|
2月前
|
存储 SQL Apache
Apache Hudi与Delta Lake对比
Apache Hudi与Delta Lake对比
37 0
|
2月前
|
Apache
Apache Hudi Rollback实现分析
Apache Hudi Rollback实现分析
26 0
|
2月前
|
存储 SQL 分布式计算
使用Amazon EMR和Apache Hudi在S3上插入,更新,删除数据
使用Amazon EMR和Apache Hudi在S3上插入,更新,删除数据
116 0
|
2月前
|
存储 分布式计算 Hadoop
一文了解Apache Hudi架构、工具和最佳实践
一文了解Apache Hudi架构、工具和最佳实践
117 0
|
2月前
|
SQL 分布式计算 NoSQL
使用Apache Hudi和Debezium构建健壮的CDC管道
使用Apache Hudi和Debezium构建健壮的CDC管道
19 0
|
2月前
|
存储 SQL 消息中间件
Apache Hudi:统一批和近实时分析的存储和服务
Apache Hudi:统一批和近实时分析的存储和服务
36 0
|
2月前
|
SQL 分布式计算 HIVE
Spark读取变更Hudi数据集Schema实现分析
Spark读取变更Hudi数据集Schema实现分析
39 0

推荐镜像

更多