<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Examples on GCP Connectors for Apache Flink</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/examples/</link><description>Recent content in Examples 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.1/docs/examples/index.xml" rel="self" type="application/rss+xml"/><item><title>Dynamic destinations</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/examples/dynamic-destinations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/examples/dynamic-destinations/</guid><description>&lt;h1 id="dynamic-destinations"&gt;Dynamic destinations&lt;a class="anchor" href="#dynamic-destinations"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;One sink instance can route records to many tables, topics or queues without splitting the stream into one sink per destination.
BigQuery, Cloud Pub/Sub, Cloud Tasks and Bigtable express that choice through a &lt;code&gt;destinationResolver&lt;/code&gt;, while Spanner takes the table from each serialized &lt;code&gt;Mutation&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The examples below start from each connector&amp;rsquo;s &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/quickstart/"&gt;Quickstart&lt;/a&gt; job and replace its fixed destination with record-driven routing.
The connector example pages carry the surrounding job and the detailed options.&lt;/p&gt;</description></item><item><title>BigQuery</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/examples/bigquery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/examples/bigquery/</guid><description>&lt;h1 id="bigquery-examples"&gt;BigQuery examples&lt;a class="anchor" href="#bigquery-examples"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/quickstart/bigquery/"&gt;BigQuery quickstart&lt;/a&gt; owns the basic DataStream read and write jobs.
The examples below keep only the parts that change for a particular use case.&lt;/p&gt;
&lt;h2 id="datastream-source"&gt;DataStream source&lt;a class="anchor" href="#datastream-source"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Start with the Quickstart&amp;rsquo;s &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/quickstart/bigquery/#read-a-table"&gt;bounded table read&lt;/a&gt;.
The cases below change its projection, billing project, snapshot, query, or stream assignment.&lt;/p&gt;
&lt;h3 id="reading-one-column-of-a-large-table"&gt;Reading one column of a large table&lt;a class="anchor" href="#reading-one-column-of-a-large-table"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The two push-down knobs are applied by BigQuery when the read session is created, so what they
exclude never leaves it — and the columns you leave out are not scanned, which is what the read is
charged for.&lt;/p&gt;</description></item><item><title>Cloud Pub/Sub</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/examples/pubsub/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/examples/pubsub/</guid><description>&lt;h1 id="cloud-pubsub-examples"&gt;Cloud Pub/Sub examples&lt;a class="anchor" href="#cloud-pubsub-examples"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Starting from the &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/quickstart/pubsub/"&gt;Cloud Pub/Sub quickstart&lt;/a&gt; jobs.&lt;/p&gt;
&lt;h2 id="datastream-source"&gt;DataStream source&lt;a class="anchor" href="#datastream-source"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/quickstart/pubsub/#read-a-stream-from-a-subscription"&gt;Quickstart consume job&lt;/a&gt;
is the canonical basic source example.
The worked case below changes how the source obtains its subscription.&lt;/p&gt;
&lt;h3 id="subscriptions-on-the-source"&gt;Subscriptions, on the source&lt;a class="anchor" href="#subscriptions-on-the-source"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;On the source, &lt;strong&gt;passing creation settings alongside a subscription is what authorises creating
it.&lt;/strong&gt; No separate disposition is needed, because there is no meaningful &amp;ldquo;create with defaults&amp;rdquo; — a
subscription without a topic is not a subscription, and only you know which topic to bind.&lt;/p&gt;</description></item><item><title>Cloud Tasks</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/examples/cloudtasks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/examples/cloudtasks/</guid><description>&lt;h1 id="cloud-tasks-examples"&gt;Cloud Tasks examples&lt;a class="anchor" href="#cloud-tasks-examples"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Starting from the &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/quickstart/cloudtasks/"&gt;Cloud Tasks quickstart&lt;/a&gt; job.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/connectors/datastream/cloudtasks/"&gt;DataStream connector&lt;/a&gt; explains sink
runtime behavior, while the &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/connectors/table/cloudtasks/"&gt;Table connector&lt;/a&gt;
owns DDL, writable metadata, and planner restrictions.&lt;/p&gt;
&lt;p&gt;For checkpointed task creation, the &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/connectors/datastream/cloudtasks/#checkpointed-task-creation"&gt;DataStream configuration&lt;/a&gt; and &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/connectors/table/cloudtasks/#checkpointed-task-creation"&gt;SQL example&lt;/a&gt; include retained checkpoints and bounded restart settings.
They share the same creation and recovery protocol; the examples below use eager creation unless explicitly configured otherwise.&lt;/p&gt;
&lt;h2 id="datastream-sink"&gt;DataStream sink&lt;a class="anchor" href="#datastream-sink"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="basic-dispatch-job"&gt;Basic dispatch job&lt;a class="anchor" href="#basic-dispatch-job"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/quickstart/cloudtasks/"&gt;Quickstart&lt;/a&gt; is the canonical basic job: it creates
one external HTTP task for each input record and leaves dispatch pacing to the queue.
The examples below change its destination or use the Table API instead of copying that job.&lt;/p&gt;</description></item><item><title>Bigtable</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/examples/bigtable/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/examples/bigtable/</guid><description>&lt;h1 id="bigtable-examples"&gt;Bigtable examples&lt;a class="anchor" href="#bigtable-examples"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/quickstart/bigtable/"&gt;Bigtable quickstart&lt;/a&gt; owns the basic source and sink jobs.
The cases below change one direction or compose it with another connector.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/connectors/table/bigtable-functions/"&gt;async SQL functions&lt;/a&gt; return
conditional outcomes and changed cells to Flink 2.x streaming queries, with SQL-only registration
and named request settings.&lt;/p&gt;
&lt;h2 id="datastream-source"&gt;DataStream source&lt;a class="anchor" href="#datastream-source"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/quickstart/bigtable/#read-a-table-back"&gt;Quickstart read job&lt;/a&gt; is the canonical bounded source example.
The worked cases below narrow its rows, filter its cells, or route it through another application profile.&lt;/p&gt;</description></item><item><title>Spanner</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/examples/spanner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/examples/spanner/</guid><description>&lt;h1 id="spanner-examples"&gt;Spanner examples&lt;a class="anchor" href="#spanner-examples"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Worked cases beyond the &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/quickstart/spanner/"&gt;quickstart&lt;/a&gt; follow the shared source-to-sink order.
The &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/reference/spanner/"&gt;Spanner options&lt;/a&gt; page lists every option, while the
&lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/connectors/datastream/spanner/"&gt;Spanner connector&lt;/a&gt; page explains the runtime
contracts behind them.&lt;/p&gt;
&lt;h2 id="datastream-source"&gt;DataStream source&lt;a class="anchor" href="#datastream-source"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The quickstart owns the basic &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.1/docs/quickstart/spanner/#read-the-table-back-into-flink"&gt;bounded DataStream read&lt;/a&gt;.
The cases below change its read shape, snapshot, compute placement, or row handling.&lt;/p&gt;
&lt;h3 id="reading-a-key-range-instead-of-a-query"&gt;Reading a key range instead of a query&lt;a class="anchor" href="#reading-a-key-range-instead-of-a-query"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;A table read takes a key set and a column list, and is the cheapest shape when the rows wanted are
a contiguous range of the primary key. There is no SQL to be root-partitionable, so nothing about
the read can be refused for being undistributable.&lt;/p&gt;</description></item></channel></rss>