You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by lz...@apache.org on 2020/06/15 02:21:49 UTC

[flink] branch release-1.11 updated (937ee63 -> 2b18ae6)

This is an automated email from the ASF dual-hosted git repository.

lzljs3620320 pushed a change to branch release-1.11
in repository https://gitbox.apache.org/repos/asf/flink.git.


    from 937ee63  [FLINK-18140][doc][orc] Add documentation for ORC format
     new ab3ad2e  [FLINK-17686][doc] Add document to dataGen connector
     new 224d8d8  [FLINK-17686][doc] Add document to blackhole connector
     new 2b18ae6  [FLINK-17686][doc] Add document to print connector

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 docs/dev/table/connectors/blackhole.md    |  92 ++++++++++++++++++
 docs/dev/table/connectors/blackhole.zh.md |  92 ++++++++++++++++++
 docs/dev/table/connectors/datagen.md      | 152 ++++++++++++++++++++++++++++++
 docs/dev/table/connectors/datagen.zh.md   | 152 ++++++++++++++++++++++++++++++
 docs/dev/table/connectors/print.md        | 144 ++++++++++++++++++++++++++++
 docs/dev/table/connectors/print.zh.md     | 144 ++++++++++++++++++++++++++++
 6 files changed, 776 insertions(+)
 create mode 100644 docs/dev/table/connectors/blackhole.md
 create mode 100644 docs/dev/table/connectors/blackhole.zh.md
 create mode 100644 docs/dev/table/connectors/datagen.md
 create mode 100644 docs/dev/table/connectors/datagen.zh.md
 create mode 100644 docs/dev/table/connectors/print.md
 create mode 100644 docs/dev/table/connectors/print.zh.md


[flink] 03/03: [FLINK-17686][doc] Add document to print connector

Posted by lz...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lzljs3620320 pushed a commit to branch release-1.11
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 2b18ae6f15d6f8e8465e151037295a942a0e4f4d
Author: JingsongLi <lz...@aliyun.com>
AuthorDate: Mon Jun 15 10:18:20 2020 +0800

    [FLINK-17686][doc] Add document to print connector
    
    This closes #12610
---
 docs/dev/table/connectors/print.md    | 144 ++++++++++++++++++++++++++++++++++
 docs/dev/table/connectors/print.zh.md | 144 ++++++++++++++++++++++++++++++++++
 2 files changed, 288 insertions(+)

diff --git a/docs/dev/table/connectors/print.md b/docs/dev/table/connectors/print.md
new file mode 100644
index 0000000..52ddbb9
--- /dev/null
+++ b/docs/dev/table/connectors/print.md
@@ -0,0 +1,144 @@
+---
+title: "Print SQL Connector"
+nav-title: Print
+nav-parent_id: sql-connectors
+nav-pos: 5
+---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<span class="label label-primary">Sink: Bounded</span>
+<span class="label label-primary">Sink: UnBounded</span>
+
+* This will be replaced by the TOC
+{:toc}
+
+The Print connector allows for writing every row to the standard output or standard error stream.
+
+It is designed for:
+
+- Easy test for streaming job.
+- Very useful in production debugging.
+
+Four possible format options:
+
+<table class="table table-bordered">
+    <thead>
+      <tr>
+        <th class="text-left" style="width: 40%">Print</th>
+        <th class="text-center" style="width: 30%">Condition1</th>
+        <th class="text-center" style="width: 30%">Condition2</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td><h5>PRINT_IDENTIFIER:taskId> output</h5></td>
+      <td>PRINT_IDENTIFIER provided</td>
+      <td>parallelism > 1</td>
+    </tr>
+    <tr>
+      <td><h5>PRINT_IDENTIFIER> output</h5></td>
+      <td>PRINT_IDENTIFIER provided</td>
+      <td>parallelism == 1</td>
+    </tr>
+    <tr>
+      <td><h5>taskId> output</h5></td>
+      <td>no PRINT_IDENTIFIER provided</td>
+      <td>parallelism > 1</td>
+    </tr>
+    <tr>
+      <td><h5>output</h5></td>
+      <td>no PRINT_IDENTIFIER provided</td>
+      <td>parallelism == 1</td>
+    </tr>
+    </tbody>
+</table>
+
+The output string format is "$row_kind(f0,f1,f2...)", row_kind is the short string of [RowKind]({{ site.baseurl }}/api/java/org/apache/flink/types/RowKind.html), example is: "+I(1,1)".
+
+The Print connector is built-in.
+
+<span class="label label-danger">Attention</span> Print sinks print records in runtime tasks, you need to observe the task log.
+
+How to create a Print table
+----------------
+
+<div class="codetabs" markdown="1">
+<div data-lang="SQL" markdown="1">
+{% highlight sql %}
+CREATE TABLE print_table (
+ f0 INT,
+ f1 INT,
+ f2 STRING,
+ f3 DOUBLE
+) WITH (
+ 'connector' = 'print'
+)
+{% endhighlight %}
+</div>
+</div>
+
+Alternatively, it may be based on  an existing schema using the [LIKE Clause]({% link dev/table/sql/create.md %}#create-table).
+
+<div class="codetabs" markdown="1">
+<div data-lang="SQL" markdown="1">
+{% highlight sql %}
+CREATE TABLE print_table WITH ('connector' = 'print')
+LIKE source_table (EXCLUDING ALL)
+{% endhighlight %}
+</div>
+</div>
+
+Connector Options
+----------------
+
+<table class="table table-bordered">
+    <thead>
+      <tr>
+        <th class="text-left" style="width: 25%">Option</th>
+        <th class="text-center" style="width: 8%">Required</th>
+        <th class="text-center" style="width: 7%">Default</th>
+        <th class="text-center" style="width: 10%">Type</th>
+        <th class="text-center" style="width: 50%">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td><h5>connector</h5></td>
+      <td>required</td>
+      <td style="word-wrap: break-word;">(none)</td>
+      <td>String</td>
+      <td>Specify what connector to use, here should be 'print'.</td>
+    </tr>
+    <tr>
+      <td><h5>print-identifier</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">(none)</td>
+      <td>String</td>
+      <td>Message that identify print and is prefixed to the output of the value.</td>
+    </tr>
+    <tr>
+      <td><h5>standard-error</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">false</td>
+      <td>Boolean</td>
+      <td>True, if the format should print to standard error instead of standard out.</td>
+    </tr>
+    </tbody>
+</table>
diff --git a/docs/dev/table/connectors/print.zh.md b/docs/dev/table/connectors/print.zh.md
new file mode 100644
index 0000000..8bc274b
--- /dev/null
+++ b/docs/dev/table/connectors/print.zh.md
@@ -0,0 +1,144 @@
+---
+title: "Print SQL Connector"
+nav-title: Print
+nav-parent_id: sql-connectors
+nav-pos: 5
+---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<span class="label label-primary">Sink: Bounded</span>
+<span class="label label-primary">Sink: UnBounded</span>
+
+* This will be replaced by the TOC
+{:toc}
+
+The Print connector allows for writing every row to the standard output or standard error stream.
+
+It is designed for:
+
+- Easy test for streaming job.
+- Very useful in production debugging.
+
+Four possible format options:
+
+<table class="table table-bordered">
+    <thead>
+      <tr>
+        <th class="text-left" style="width: 40%">Print</th>
+        <th class="text-center" style="width: 30%">Condition1</th>
+        <th class="text-center" style="width: 30%">Condition2</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td><h5>PRINT_IDENTIFIER:taskId> output</h5></td>
+      <td>PRINT_IDENTIFIER provided</td>
+      <td>parallelism > 1</td>
+    </tr>
+    <tr>
+      <td><h5>PRINT_IDENTIFIER> output</h5></td>
+      <td>PRINT_IDENTIFIER provided</td>
+      <td>parallelism == 1</td>
+    </tr>
+    <tr>
+      <td><h5>taskId> output</h5></td>
+      <td>no PRINT_IDENTIFIER provided</td>
+      <td>parallelism > 1</td>
+    </tr>
+    <tr>
+      <td><h5>output</h5></td>
+      <td>no PRINT_IDENTIFIER provided</td>
+      <td>parallelism == 1</td>
+    </tr>
+    </tbody>
+</table>
+
+The output string format is "$row_kind(f0,f1,f2...)", row_kind is the short string of [RowKind]({{ site.baseurl }}/api/java/org/apache/flink/types/RowKind.html), example is: "+I(1,1)".
+
+The Print connector is built-in.
+
+<span class="label label-danger">Attention</span> Print sinks print records in runtime tasks, you need to observe the task log.
+
+How to create a Print table
+----------------
+
+<div class="codetabs" markdown="1">
+<div data-lang="SQL" markdown="1">
+{% highlight sql %}
+CREATE TABLE print_table (
+ f0 INT,
+ f1 INT,
+ f2 STRING,
+ f3 DOUBLE
+) WITH (
+ 'connector' = 'print'
+)
+{% endhighlight %}
+</div>
+</div>
+
+Alternatively, it may be based on  an existing schema using the [LIKE Clause]({% link dev/table/sql/create.zh.md %}#create-table).
+
+<div class="codetabs" markdown="1">
+<div data-lang="SQL" markdown="1">
+{% highlight sql %}
+CREATE TABLE print_table WITH ('connector' = 'print')
+LIKE source_table (EXCLUDING ALL)
+{% endhighlight %}
+</div>
+</div>
+
+Connector Options
+----------------
+
+<table class="table table-bordered">
+    <thead>
+      <tr>
+        <th class="text-left" style="width: 25%">Option</th>
+        <th class="text-center" style="width: 8%">Required</th>
+        <th class="text-center" style="width: 7%">Default</th>
+        <th class="text-center" style="width: 10%">Type</th>
+        <th class="text-center" style="width: 50%">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td><h5>connector</h5></td>
+      <td>required</td>
+      <td style="word-wrap: break-word;">(none)</td>
+      <td>String</td>
+      <td>Specify what connector to use, here should be 'print'.</td>
+    </tr>
+    <tr>
+      <td><h5>print-identifier</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">(none)</td>
+      <td>String</td>
+      <td>Message that identify print and is prefixed to the output of the value.</td>
+    </tr>
+    <tr>
+      <td><h5>standard-error</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">false</td>
+      <td>Boolean</td>
+      <td>True, if the format should print to standard error instead of standard out.</td>
+    </tr>
+    </tbody>
+</table>


[flink] 01/03: [FLINK-17686][doc] Add document to dataGen connector

Posted by lz...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lzljs3620320 pushed a commit to branch release-1.11
in repository https://gitbox.apache.org/repos/asf/flink.git

commit ab3ad2eaef39d3c3bfb04b4353be1a7b3f75a018
Author: JingsongLi <lz...@aliyun.com>
AuthorDate: Mon Jun 15 10:17:47 2020 +0800

    [FLINK-17686][doc] Add document to dataGen connector
---
 docs/dev/table/connectors/datagen.md    | 152 ++++++++++++++++++++++++++++++++
 docs/dev/table/connectors/datagen.zh.md | 152 ++++++++++++++++++++++++++++++++
 2 files changed, 304 insertions(+)

diff --git a/docs/dev/table/connectors/datagen.md b/docs/dev/table/connectors/datagen.md
new file mode 100644
index 0000000..f1e336b
--- /dev/null
+++ b/docs/dev/table/connectors/datagen.md
@@ -0,0 +1,152 @@
+---
+title: "DataGen SQL Connector"
+nav-title: DataGen
+nav-parent_id: sql-connectors
+nav-pos: 4
+---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<span class="label label-primary">Scan Source: Bounded</span>
+<span class="label label-primary">Scan Source: UnBounded</span>
+
+* This will be replaced by the TOC
+{:toc}
+
+The Datagen connector allows for reading by data generation rules.
+
+The Datagen connector can work with [Computed Column syntax]({% link dev/table/sql/create.md %}#create-table).
+This allows you to generate records flexibly.
+
+The Datagen connector is built-in.
+
+<span class="label label-danger">Attention</span> Complex types are not supported: Array, Map, Row. Please construct these types by computed column.
+
+How to create a Datagen table
+----------------
+
+The boundedness of table: when the generation of field data in the table is completed, the reading
+is finished. So the boundedness of the table depends on the boundedness of fields.
+
+For each field, there are two ways to generate data:
+
+- Random generator is the default generator, you can specify random max and min values. For char/varchar/string, the length can be specified. It is a unbounded generator.
+- Sequence generator, you can specify sequence start and end values. It is a bounded generator, when the sequence number reaches the end value, the reading ends.
+
+<div class="codetabs" markdown="1">
+<div data-lang="SQL" markdown="1">
+{% highlight sql %}
+CREATE TABLE datagen (
+ f_sequence INT,
+ f_random INT,
+ f_random_str STRING,
+ ts AS localtimestamp,
+ WATERMARK FOR ts AS ts
+) WITH (
+ 'connector' = 'datagen',
+
+ -- optional options --
+
+ 'rows-per-second'='5',
+
+ 'fields.f_sequence.kind'='sequence',
+ 'fields.f_sequence.start'='1',
+ 'fields.f_sequence.end'='1000',
+
+ 'fields.f_random.min'='1',
+ 'fields.f_random.max'='1000',
+
+ 'fields.f_random_str.length'='10'
+)
+{% endhighlight %}
+</div>
+</div>
+
+Connector Options
+----------------
+
+<table class="table table-bordered">
+    <thead>
+      <tr>
+        <th class="text-left" style="width: 25%">Option</th>
+        <th class="text-center" style="width: 8%">Required</th>
+        <th class="text-center" style="width: 7%">Default</th>
+        <th class="text-center" style="width: 10%">Type</th>
+        <th class="text-center" style="width: 50%">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td><h5>connector</h5></td>
+      <td>required</td>
+      <td style="word-wrap: break-word;">(none)</td>
+      <td>String</td>
+      <td>Specify what connector to use, here should be 'datagen'.</td>
+    </tr>
+    <tr>
+      <td><h5>rows-per-second</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">10000</td>
+      <td>Long</td>
+      <td>Rows per second to control the emit rate.</td>
+    </tr>
+    <tr>
+      <td><h5>fields.#.kind</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">random</td>
+      <td>String</td>
+      <td>Generator of this '#' field. Can be 'sequence' or 'random'.</td>
+    </tr>
+    <tr>
+      <td><h5>fields.#.min</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">(Minimum value of type)</td>
+      <td>(Type of field)</td>
+      <td>Minimum value of random generator, work for number types.</td>
+    </tr>
+    <tr>
+      <td><h5>fields.#.max</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">(Maximum value of type)</td>
+      <td>(Type of field)</td>
+      <td>Maximum value of random generator, work for number types.</td>
+    </tr>
+    <tr>
+      <td><h5>fields.#.length</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">100</td>
+      <td>Integer</td>
+      <td>Length for string generating of random generator, work for char/varchar/string.</td>
+    </tr>
+    <tr>
+      <td><h5>fields.#.start</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">(none)</td>
+      <td>(Type of field)</td>
+      <td>Start value of sequence generator.</td>
+    </tr>
+    <tr>
+      <td><h5>fields.#.end</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">(none)</td>
+      <td>(Type of field)</td>
+      <td>End value of sequence generator.</td>
+    </tr>
+    </tbody>
+</table>
diff --git a/docs/dev/table/connectors/datagen.zh.md b/docs/dev/table/connectors/datagen.zh.md
new file mode 100644
index 0000000..b11558d
--- /dev/null
+++ b/docs/dev/table/connectors/datagen.zh.md
@@ -0,0 +1,152 @@
+---
+title: "DataGen SQL Connector"
+nav-title: DataGen
+nav-parent_id: sql-connectors
+nav-pos: 4
+---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<span class="label label-primary">Scan Source: Bounded</span>
+<span class="label label-primary">Scan Source: UnBounded</span>
+
+* This will be replaced by the TOC
+{:toc}
+
+The Datagen connector allows for reading by data generation rules.
+
+The Datagen connector can work with [Computed Column syntax]({% link dev/table/sql/create.zh.md %}#create-table).
+This allows you to generate records flexibly.
+
+The Datagen connector is built-in.
+
+<span class="label label-danger">Attention</span> Complex types are not supported: Array, Map, Row. Please construct these types by computed column.
+
+How to create a Datagen table
+----------------
+
+The boundedness of table: when the generation of field data in the table is completed, the reading
+is finished. So the boundedness of the table depends on the boundedness of fields.
+
+For each field, there are two ways to generate data:
+
+- Random generator is the default generator, you can specify random max and min values. For char/varchar/string, the length can be specified. It is a unbounded generator.
+- Sequence generator, you can specify sequence start and end values. It is a bounded generator, when the sequence number reaches the end value, the reading ends.
+
+<div class="codetabs" markdown="1">
+<div data-lang="SQL" markdown="1">
+{% highlight sql %}
+CREATE TABLE datagen (
+ f_sequence INT,
+ f_random INT,
+ f_random_str STRING,
+ ts AS localtimestamp,
+ WATERMARK FOR ts AS ts
+) WITH (
+ 'connector' = 'datagen',
+
+ -- optional options --
+
+ 'rows-per-second'='5',
+
+ 'fields.f_sequence.kind'='sequence',
+ 'fields.f_sequence.start'='1',
+ 'fields.f_sequence.end'='1000',
+
+ 'fields.f_random.min'='1',
+ 'fields.f_random.max'='1000',
+
+ 'fields.f_random_str.length'='10'
+)
+{% endhighlight %}
+</div>
+</div>
+
+Connector Options
+----------------
+
+<table class="table table-bordered">
+    <thead>
+      <tr>
+        <th class="text-left" style="width: 25%">Option</th>
+        <th class="text-center" style="width: 8%">Required</th>
+        <th class="text-center" style="width: 7%">Default</th>
+        <th class="text-center" style="width: 10%">Type</th>
+        <th class="text-center" style="width: 50%">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td><h5>connector</h5></td>
+      <td>required</td>
+      <td style="word-wrap: break-word;">(none)</td>
+      <td>String</td>
+      <td>Specify what connector to use, here should be 'datagen'.</td>
+    </tr>
+    <tr>
+      <td><h5>rows-per-second</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">10000</td>
+      <td>Long</td>
+      <td>Rows per second to control the emit rate.</td>
+    </tr>
+    <tr>
+      <td><h5>fields.#.kind</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">random</td>
+      <td>String</td>
+      <td>Generator of this '#' field. Can be 'sequence' or 'random'.</td>
+    </tr>
+    <tr>
+      <td><h5>fields.#.min</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">(Minimum value of type)</td>
+      <td>(Type of field)</td>
+      <td>Minimum value of random generator, work for number types.</td>
+    </tr>
+    <tr>
+      <td><h5>fields.#.max</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">(Maximum value of type)</td>
+      <td>(Type of field)</td>
+      <td>Maximum value of random generator, work for number types.</td>
+    </tr>
+    <tr>
+      <td><h5>fields.#.length</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">100</td>
+      <td>Integer</td>
+      <td>Length for string generating of random generator, work for char/varchar/string.</td>
+    </tr>
+    <tr>
+      <td><h5>fields.#.start</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">(none)</td>
+      <td>(Type of field)</td>
+      <td>Start value of sequence generator.</td>
+    </tr>
+    <tr>
+      <td><h5>fields.#.end</h5></td>
+      <td>optional</td>
+      <td style="word-wrap: break-word;">(none)</td>
+      <td>(Type of field)</td>
+      <td>End value of sequence generator.</td>
+    </tr>
+    </tbody>
+</table>


[flink] 02/03: [FLINK-17686][doc] Add document to blackhole connector

Posted by lz...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lzljs3620320 pushed a commit to branch release-1.11
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 224d8d85175d305fa09efa5c7d54e5d61de81347
Author: JingsongLi <lz...@aliyun.com>
AuthorDate: Mon Jun 15 10:18:05 2020 +0800

    [FLINK-17686][doc] Add document to blackhole connector
---
 docs/dev/table/connectors/blackhole.md    | 92 +++++++++++++++++++++++++++++++
 docs/dev/table/connectors/blackhole.zh.md | 92 +++++++++++++++++++++++++++++++
 2 files changed, 184 insertions(+)

diff --git a/docs/dev/table/connectors/blackhole.md b/docs/dev/table/connectors/blackhole.md
new file mode 100644
index 0000000..024dabb
--- /dev/null
+++ b/docs/dev/table/connectors/blackhole.md
@@ -0,0 +1,92 @@
+---
+title: "Blackhole SQL Connector"
+nav-title: Blackhole
+nav-parent_id: sql-connectors
+nav-pos: 6
+---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<span class="label label-primary">Sink: Bounded</span>
+<span class="label label-primary">Sink: UnBounded</span>
+
+* This will be replaced by the TOC
+{:toc}
+
+The Blackhole connector allows for swallowing all input records. It is designed for:
+
+- high performance testing.
+- UDF to output, not substantive sink.
+
+Just like /dev/null device on Unix-like operating systems.
+
+The Blackhole connector is built-in.
+
+How to create a Blackhole table
+----------------
+
+<div class="codetabs" markdown="1">
+<div data-lang="SQL" markdown="1">
+{% highlight sql %}
+CREATE TABLE blackhole_table (
+ f0 INT,
+ f1 INT,
+ f2 STRING,
+ f3 DOUBLE
+) WITH (
+ 'connector' = 'blackhole'
+)
+{% endhighlight %}
+</div>
+</div>
+
+Alternatively, it may be based on an existing schema using the [LIKE Clause]({% link dev/table/sql/create.md %}#create-table).
+
+<div class="codetabs" markdown="1">
+<div data-lang="SQL" markdown="1">
+{% highlight sql %}
+CREATE TABLE blackhole_table WITH ('connector' = 'blackhole')
+LIKE source_table (EXCLUDING ALL)
+{% endhighlight %}
+</div>
+</div>
+
+Connector Options
+----------------
+
+<table class="table table-bordered">
+    <thead>
+      <tr>
+        <th class="text-left" style="width: 25%">Option</th>
+        <th class="text-center" style="width: 8%">Required</th>
+        <th class="text-center" style="width: 7%">Default</th>
+        <th class="text-center" style="width: 10%">Type</th>
+        <th class="text-center" style="width: 50%">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td><h5>connector</h5></td>
+      <td>required</td>
+      <td style="word-wrap: break-word;">(none)</td>
+      <td>String</td>
+      <td>Specify what connector to use, here should be 'blackhole'.</td>
+    </tr>
+    </tbody>
+</table>
diff --git a/docs/dev/table/connectors/blackhole.zh.md b/docs/dev/table/connectors/blackhole.zh.md
new file mode 100644
index 0000000..cf82719
--- /dev/null
+++ b/docs/dev/table/connectors/blackhole.zh.md
@@ -0,0 +1,92 @@
+---
+title: "Blackhole SQL Connector"
+nav-title: Blackhole
+nav-parent_id: sql-connectors
+nav-pos: 6
+---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<span class="label label-primary">Sink: Bounded</span>
+<span class="label label-primary">Sink: UnBounded</span>
+
+* This will be replaced by the TOC
+{:toc}
+
+The Blackhole connector allows for swallowing all input records. It is designed for:
+
+- high performance testing.
+- UDF to output, not substantive sink.
+
+Just like /dev/null device on Unix-like operating systems.
+
+The Blackhole connector is built-in.
+
+How to create a Blackhole table
+----------------
+
+<div class="codetabs" markdown="1">
+<div data-lang="SQL" markdown="1">
+{% highlight sql %}
+CREATE TABLE blackhole_table (
+ f0 INT,
+ f1 INT,
+ f2 STRING,
+ f3 DOUBLE
+) WITH (
+ 'connector' = 'blackhole'
+)
+{% endhighlight %}
+</div>
+</div>
+
+Alternatively, it may be based on an existing schema using the [LIKE Clause]({% link dev/table/sql/create.zh.md %}#create-table).
+
+<div class="codetabs" markdown="1">
+<div data-lang="SQL" markdown="1">
+{% highlight sql %}
+CREATE TABLE blackhole_table WITH ('connector' = 'blackhole')
+LIKE source_table (EXCLUDING ALL)
+{% endhighlight %}
+</div>
+</div>
+
+Connector Options
+----------------
+
+<table class="table table-bordered">
+    <thead>
+      <tr>
+        <th class="text-left" style="width: 25%">Option</th>
+        <th class="text-center" style="width: 8%">Required</th>
+        <th class="text-center" style="width: 7%">Default</th>
+        <th class="text-center" style="width: 10%">Type</th>
+        <th class="text-center" style="width: 50%">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+    <tr>
+      <td><h5>connector</h5></td>
+      <td>required</td>
+      <td style="word-wrap: break-word;">(none)</td>
+      <td>String</td>
+      <td>Specify what connector to use, here should be 'blackhole'.</td>
+    </tr>
+    </tbody>
+</table>