<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Connectors on GCP Connectors for Apache Flink</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/</link><description>Recent content in Connectors on GCP Connectors for Apache Flink</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/index.xml" rel="self" type="application/rss+xml"/><item><title>Delivery Guarantees</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/delivery-guarantees/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/delivery-guarantees/</guid><description>&lt;h1 id="delivery-guarantees"&gt;Delivery Guarantees&lt;a class="anchor" href="#delivery-guarantees"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This page compares what a completed Flink checkpoint means for each sink and what can happen when
Flink restores an earlier checkpoint.&lt;/p&gt;
&lt;p&gt;The short version is that flushing before a checkpoint makes data durable, but does not by itself
prevent a restored job from writing the same record again.
BigQuery has checkpoint-coordinated exactly-once write methods.
Cloud Tasks also has opt-in, experimental checkpointed task creation within its documented retention and recovery scope; it keeps up with the at-least-once path at the measured rates and adds most of a checkpoint interval to task visibility latency.
Some other sinks can make a replay harmless when the record supplies a stable identity, but that is
not the same contract as a general-purpose exactly-once sink.&lt;/p&gt;</description></item><item><title>Lineage</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/lineage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/lineage/</guid><description>&lt;h1 id="lineage"&gt;Lineage&lt;a class="anchor" href="#lineage"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The shared lineage contract describes the physical resources known from a connector&amp;rsquo;s configuration.
It does not discover resources at runtime or infer them by inspecting records.
&lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/datastream/bigquery/#lineage"&gt;BigQuery DataStream&lt;/a&gt; and &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/table/bigquery/#lineage"&gt;Table/SQL&lt;/a&gt; implement this contract for configured table inputs and fixed outputs, including explicitly named view materialization and default-stream CDC.
&lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/datastream/bigtable/#lineage"&gt;Bigtable DataStream&lt;/a&gt; and &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/table/bigtable/#lineage"&gt;Table/SQL&lt;/a&gt; implement configured-table lineage for scans, Change Streams and all sink write modes.
The common graph and listener tests establish the shared contract.
Pub/Sub and Bigtable also test extraction against their builder-returned Source/Sink objects and SQL planners.
Pub/Sub covers multiple subscriptions and ordering-key routing; Bigtable covers scans, bounded and unbounded Change Streams, and every Table write mode.
Spanner implements the contract for the paths documented in its &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/datastream/spanner/"&gt;DataStream&lt;/a&gt; and &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/table/spanner/"&gt;Table&lt;/a&gt; references.
The &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/datastream/cloudtasks/#lineage"&gt;Cloud Tasks guide&lt;/a&gt; describes its fixed-queue coverage for DataStream and Table/SQL; its connector tests exercise the builder-returned sink, listener delivery and planner facets.
The &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/datastream/firestore/#lineage"&gt;Firestore&lt;/a&gt; collection-group scan reports its collection group, a Datastore-mode source reports the kind its configuration names (a kind, or a query naming exactly one kind), and the &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/table/firestore/#lineage"&gt;Firestore Table source and sink&lt;/a&gt; report the collection its &lt;code&gt;collection&lt;/code&gt; option names, or a scan under &lt;code&gt;scan.collection-group&lt;/code&gt; the group, and the &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.2/docs/connectors/table/datastore/#lineage"&gt;Datastore-mode Table source and sink&lt;/a&gt; report the kind its &lt;code&gt;kind&lt;/code&gt; option names, in its namespace.
A Native-mode source reading a query, a Datastore-mode source reading a GQL query or a query naming no kind or several, and the DataStream Firestore sinks in both modes report an empty dataset list, because the query factory, the service&amp;rsquo;s parse or the serializer, not the configuration, names the collections or kinds.&lt;/p&gt;</description></item></channel></rss>