• Apache Hudi 0.5.1版本重磅发布


    历经大约3个月时间,Apache Hudi 社区终于发布了0.5.1版本,这是Apache Hudi发布的第二个Apache版本,该版本中一些关键点如下

    • 版本升级
      • 将Spark版本从2.1.0升级到2.4.4
      • 将Avro版本从1.7.7升级到1.8.2
      • 将Parquet版本从1.8.1升级到1.10.1
      • 将Kafka版本从0.8.2.1升级到2.0.0,这是由于将spark-streaming-kafka artifact从0.8_2.11升级到0.10_2.11/2.12间接升级

    重要:Hudi 0.5.1版本需要将spark的版本升级到2.4+

    • Hudi现在支持Scala 2.11和2.12,可以参考Scala 2.12构建来使用Scala 2.12来构建Hudi,另外, hudi-spark, hudi-utilities, hudi-spark-bundle and hudi-utilities-bundle包名现已经对应变更为 hudi-spark_{scala_version}, hudi-spark_{scala_version}, hudi-utilities_{scala_version}, hudi-spark-bundle_{scala_version}和 hudi-utilities-bundle_{scala_version}. 注意这里的scala_version为2.11或2.12。

    • 在0.5.1版本中,对于timeline元数据的操作不再使用重命名方式,这个特性在创建Hudi表时默认是打开的。对于已存在的表,这个特性默认是关闭的,在已存在表开启这个特性之前,请参考这部分(https://hudi.apache.org/docs/deployment.html#upgrading)。若开启新的Hudi timeline布局方式(layout),即避免重命名,可设置写配置项hoodie.timeline.layout.version=1。当然,你也可以在CLI中使用repair overwrite-hoodie-props命令来添加hoodie.timeline.layout.version=1至hoodie.properties文件。注意,无论使用哪种方式,在升级Writer之前请先升级Hudi Reader(查询引擎)版本至0.5.1版本。

    • CLI支持repair overwrite-hoodie-props来指定文件来重写表的hoodie.properties文件,可以使用此命令来的更新表名或者使用新的timeline布局方式。注意当写hoodie.properties文件时(毫秒),一些查询将会暂时失败,失败后重新运行即可。

    • DeltaStreamer用来指定表类型的参数从--storage-type变更为了--table-type,可以参考wiki来了解更多的最新变化的术语。

    • 配置Kafka Reset Offset策略的值变化了。枚举值从LARGEST变更为LATEST,SMALLEST变更为EARLIEST,对应DeltaStreamer中的配置项为auto.offset.reset

    • 当使用spark-shell来了解Hudi时,需要提供额外的--packages org.apache.spark:spark-avro_2.11:2.4.4,可以参考quickstart了解更多细节。

    • Key generator(键生成器)移动到了单独的包下org.apache.hudi.keygen,如果你使用重载键生成器类(对应配置项:hoodie.datasource.write.keygenerator.class),请确保类的全路径名也对应进行变更。

    • Hive同步工具将会为MOR注册带有_ro后缀的RO表,所以查询也请带_ro后缀,你可以使用--skip-ro-suffix配置项来保持旧的表名,即同步时不添加_ro后缀。

    • 0.5.1版本中,供presto/hive查询引擎使用的hudi-hadoop-mr-bundle包shaded了avro包,以便支持real time queries(实时查询)。Hudi支持可插拔的记录合并逻辑,用户只需自定义实现HoodieRecordPayload。如果你使用这个特性,你需要在你的代码中relocate avro依赖,这样可以确保你代码的行为和Hudi保持一致,你可以使用如下方式来relocation。

      <relocation>
        <pattern>org.apache.avro.</pattern>
        <shadedPattern>org.apache.hudi.org.apache.avro.</shadedPattern>
      </relocation>
      
    • DeltaStreamer更好的支持Delete,可参考blog了解更多细节。

    • DeltaStreamer支持AWS Database Migration Service(DMS) ,可参考blog了解更多细节。

    • 支持DynamicBloomFilter(动态布隆过滤器),默认是关闭的,可以使用索引配置项hoodie.bloom.index.filter.type=DYNAMIC_V0来开启。

    • HDFSParquetImporter支持bulkinsert,可配置--commandbulkinsert

    • 支持AWS WASB和 WASBS云存储。

  • 相关阅读:
    Foxit 出mac 版本啦
    mac 上的latex (有很多链接,侵权请通知,一定删除)
    集合转数组
    select2搜索框查询加遍历
    下拉框回显
    柱状堆积图Echarts
    echarts X轴数据显示不全问题
    Map静态键值对
    如何配置pl/sql (本地客户端)连接远程oracle服务器
    自定义验证jquery.validate
  • 原文地址:https://www.cnblogs.com/apachehudi/p/12247396.html
Copyright © 2020-2023  润新知