<?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.0/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.0/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.0/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.0/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.0/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.0/docs/examples/bigquery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.0/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.0/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.0/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.0/docs/examples/pubsub/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.0/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.0/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.0/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.0/docs/examples/cloudtasks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.0/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.0/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.0/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.0/docs/connectors/table/cloudtasks/"&gt;Table connector&lt;/a&gt;
owns DDL, writable metadata, and planner restrictions.&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.0/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;
&lt;h3 id="sharding-across-queues"&gt;Sharding across queues&lt;a class="anchor" href="#sharding-across-queues"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;a href="https://flink-gcp.github.io/flink-connector-gcp/1.0/docs/examples/dynamic-destinations/#cloud-tasks-queues"&gt;dynamic destinations guide&lt;/a&gt;
places this sharding pattern in the shared resolver contract.&lt;/p&gt;</description></item><item><title>Bigtable</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.0/docs/examples/bigtable/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.0/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.0/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;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.0/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;
&lt;h3 id="reading-a-key-range"&gt;Reading a key range&lt;a class="anchor" href="#reading-a-key-range"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;A prefix and an explicit range are the same thing said two ways, and both are repeatable:&lt;/p&gt;</description></item><item><title>Spanner</title><link>https://flink-gcp.github.io/flink-connector-gcp/1.0/docs/examples/spanner/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://flink-gcp.github.io/flink-connector-gcp/1.0/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.0/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.0/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.0/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.0/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>