开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

iceberg format version 2的表是不是还不支持flink 流式读取呢?

iceberg format version 2的表是不是还不支持flink 流式读取呢?

展开
收起
三分钟热度的鱼 2023-11-30 16:22:52 53 0
1 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    目前,Apache Iceberg 的格式版本 2.x 在 Flink 中仍然不支持完全的流式读取。原因是,Iceberg v2 表的数据布局采用了全新的 Delta 文件和快照索引结构,这些结构在批处理场景下表现非常出色,但对于流式读取来说还没有提供完整的支持。

    虽然 Flink 社区正在积极努力开发与 Iceberg v2 表的流式读取兼容性,但目前尚未完全实现。Flink 目前仅支持从 Iceberg v1 表中进行流式读取。如果您希望在 Flink 中使用 Iceberg 表进行流式读取,建议使用 Iceberg v1 格式。

    可以通过以下方式使用 Flink 流式读取 Iceberg v1 表:

    1. 添加相关依赖:

      <dependency>
          <groupId>org.apache.flink</groupId>
          <artifactId>flink-connector-iceberg_${scala.binary.version}</artifactId>
          <version>${flink.version}</version>
      </dependency>
      
    2. 创建 Flink 程序并读取 Iceberg v1 表:

      TableEnvironment tableEnv = ...
      
      // 创建 Iceberg Catalog
      String catalogName = "my_catalog";
      String databaseName = "my_database";
      Map<String, String> properties = new HashMap<>();
      properties.put("type", "iceberg");
      properties.put("catalog-type", "hadoop");
      properties.put("warehouse", "hdfs:///path/to/warehouse");
      
      Catalog catalog = new GenericInMemoryCatalog(catalogName, databaseName, properties);
      tableEnv.registerCatalog(catalogName, catalog);
      tableEnv.useCatalog(catalogName);
      
      // 注册 Iceberg 表
      String tableName = "my_table";
      TableSchema schema = ...
      tableEnv.connect(new CatalogTableBuilder()
          .inSchema(schema)
          .withTableOptions(ImmutableMap.of("type", "iceberg"))
          .createTemporaryTable(tableName))
          .createTemporaryTable();
      
      // 从 Iceberg 表中读取数据流
      DataStream<Row> stream = tableEnv.toDataStream(tableEnv.from(tableName));
      
    2023-11-30 21:48:16
    赞同 1 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载