ahmedabu98 commented on code in PR #33504: URL: https://github.com/apache/beam/pull/33504#discussion_r1987873614
########## sdks/java/io/iceberg/src/main/java/org/apache/beam/sdk/io/iceberg/IcebergIO.java: ########## @@ -310,7 +409,155 @@ * </tr> * </table> * - * <p>For internal use only; no backwards compatibility guarantees + * <br> + * <br> + * + * <h2>Reading from Tables</h2> + * + * With the following configuration, + * + * <pre>{@code + * Map<String, Object> config = Map.of( + * "table", table, + * "catalog_name", name, + * "catalog_properties", Map.of(...), + * "config_properties", Map.of(...)); + * }</pre> + * + * Example of a simple batch read: + * + * <pre>{@code + * PCollection<Row> rows = pipeline + * .apply(Managed.read(ICEBERG).withConfig(config)) + * .getSinglePCollection(); + * }</pre> + * + * Example of a simple CDC read: + * + * <pre>{@code + * PCollection<Row> output = pipeline + * .apply(Managed.read(ICEBERG_CDC).withConfig(config)) + * .getSinglePCollection(); + * + * PCollection<Row> rows = output + * .apply(ReadUtils.extractRecords()); + * }</pre> + * + * <p><b>Note</b>: This reads <b>append-only</b> snapshots. Full CDC is not supported yet. + * + * <p>The CDC <b>streaming</b> source (enabled with {@code streaming=true}) continuously polls the Review Comment: Actually the flag isn't automatically applied with DirectRunner. I'd prefer to remove this check because it makes this less usable, it forces users to do something like `pipeline.getOptions().as(StreamingOptions.class).setStreaming(true);`. We also don't have any precedent for enforcing this on any of our current unbounded sources. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@beam.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org