bullet03 commented on a change in pull request #17040:
URL: https://github.com/apache/beam/pull/17040#discussion_r824474835



##########
File path: website/www/site/content/en/documentation/io/connectors.md
##########
@@ -0,0 +1,921 @@
+# I/O Connectors
+
+Apache Beam I/O connectors provide read and write transforms for the most 
popular data storage systems so that Beam users can benefit from native 
optimised connectivity.  With the available I/Os, Apache Beam pipelines can 
read and write data from and to an external storage type in a unified and 
distributed way.
+
+## Built-in I/O Connectors
+
+This table provides a consolidated, at-a-glance overview of the available 
built-in I/O connectors.
+<div class="table-container-wrapper">
+  <table class="table table-bordered">
+  <tr>
+    <th>Connector Name</th>
+    <th>Source Supported</th>
+    <th>Sink Supported</th>
+    <th>Java</th>
+    <th>Python</th>
+    <th>Go</th>
+    <th>Batch Supported</th>
+    <th>Streaming Supported</th>
+  </tr>
+  <tr>
+    <td>FileIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/FileIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.fileio.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>AvroIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/AvroIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.avroio.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/avroio";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>TextIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/TextIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.textio.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/textio";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>TFRecordIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/TFRecordIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.tfrecordio.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>XmlIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/xml/XmlIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>TikaIO</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/tika/TikaIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>ParquetIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/parquet/ParquetIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/parquet/ParquetIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>ThriftIO</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/thrift/ThriftIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>S3IO</td>
+    <td class="present">✔</td>
+    <td class="present">✘</td>
+    <td>via X-language</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.aws.s3io.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>S3IO</td>
+    <td class="present">✔</td>
+    <td class="present">✘</td>
+    <td>via X-language</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.gcp.gcsio.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>HadoopFileSystem</td>
+    <td class="present">✔</td>
+    <td class="present">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/hdfs/HadoopFileSystemRegistrar.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.hadoopfilesystem.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>GcsFileSystem</td>
+    <td class="present">✔</td>
+    <td class="present">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/extensions/gcp/storage/GcsFileSystemRegistrar.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.gcp.gcsfilesystem.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/filesystem/gcs";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>LocalFileSystem</td>
+    <td class="present">✔</td>
+    <td class="present">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/LocalFileSystemRegistrar.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/LocalFileSystemRegistrar.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/filesystem/local";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>S3FileSystem</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/aws/s3/S3FileSystemRegistrar.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>In-memory</td>
+    <td class="absent">✘</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/filesystem/memfs";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>KinesisIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/kinesis/KinesisIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>AmqpIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/amqp/AmqpIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>KafkaIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/kafka/KafkaIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>PubSubIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.gcp.pubsub.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/pubsubio";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>JmsIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/jms/JmsIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>MqttIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/mqtt/MqttIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>RabbitMqIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/rabbitmq/RabbitMqIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>SqsIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/aws2/sqs/SqsIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>SnsIO</td>
+    <td class="absent">✘</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/aws2/sns/SnsIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>CassandraIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/cassandra/CassandraIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>HadoopFormatIO</td>
+    <td class="absent">✘</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/hadoop/format/HadoopFormatIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>HBaseIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/hbase/HBaseIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>HCatalogIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/hcatalog/HCatalogIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>KuduIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href=https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/kudu/KuduIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>SolrIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/solr/SolrIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>ElasticsearchIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>BigQueryIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.gcp.bigquery.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/bigqueryio";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>BigTableIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.gcp.bigtableio.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>DatastoreIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/datastore/DatastoreIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/datastore/DatastoreIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>SnowflakeIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/snowflake/SnowflakeIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>SpannerIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/spanner/SpannerIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>JdbcIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/jdbc/JdbcIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>MongoDbIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/mongodb/MongoDbIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.mongodbio.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>MongoDbGridFSIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/mongodb/MongoDbGridFSIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>RedisIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/redis/RedisIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>DynamoDBIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/aws2/dynamodb/DynamoDBIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>ClickHouseIO</td>
+    <td class="absent">✘</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/clickhouse/ClickHouseIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>DatabaseIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/databaseio";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>GenerateSequence</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/GenerateSequence.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>SplunkIO</td>
+    <td class="absent">✘</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/splunk/SplunkIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>FhirIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/healthcare/FhirIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>HL7v2IO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/healthcare/HL7v2IO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>FlinkStreamingImpulseSource</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td>via X-language</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.flink.flink_streaming_impulse_source.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>Firestore IO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/firestore/FirestoreIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>Neo4j</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>Pub/Sub Lite</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/pubsublite/PubsubLiteIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>InfluxDB</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/influxdb/InfluxDbIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+</table>
+</div>
+
+## Other I/O Connectors for Apache Beam
+
+<div class="table-container-wrapper">
+  <table class="table table-bordered">
+  <tr>
+    <th>Connector Name</th>
+    <th>Source Supported</th>
+    <th>Sink Supported</th>
+    <th>Java</th>
+    <th>Python</th>
+    <th>Go</th>
+    <th>Batch Supported</th>
+    <th>Streaming Supported</th>
+  </tr>
+  <tr>
+    <td>
+      <a href="https://github.com/SolaceProducts/solace-apache-beam";>Solace</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>
+      <a href="https://github.com/google/hana-bq-beam-connector";>SAP Hana to 
Google BigQuery</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>
+      <a href="https://github.com/esakik/beam-mysql-connector";>MySQL</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td>via X-language</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>
+      <a 
href="https://github.com/Refinitiv/trep-websockets-beam-io";>TrepWsIO</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>

Review comment:
       done

##########
File path: website/www/site/content/en/documentation/io/connectors.md
##########
@@ -0,0 +1,921 @@
+# I/O Connectors
+
+Apache Beam I/O connectors provide read and write transforms for the most 
popular data storage systems so that Beam users can benefit from native 
optimised connectivity.  With the available I/Os, Apache Beam pipelines can 
read and write data from and to an external storage type in a unified and 
distributed way.
+
+## Built-in I/O Connectors
+
+This table provides a consolidated, at-a-glance overview of the available 
built-in I/O connectors.
+<div class="table-container-wrapper">
+  <table class="table table-bordered">
+  <tr>
+    <th>Connector Name</th>
+    <th>Source Supported</th>
+    <th>Sink Supported</th>
+    <th>Java</th>
+    <th>Python</th>
+    <th>Go</th>
+    <th>Batch Supported</th>
+    <th>Streaming Supported</th>
+  </tr>
+  <tr>
+    <td>FileIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/FileIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.fileio.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>AvroIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/AvroIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.avroio.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/avroio";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>TextIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/TextIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.textio.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/textio";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>TFRecordIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/TFRecordIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.tfrecordio.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>XmlIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/xml/XmlIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>TikaIO</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/tika/TikaIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>ParquetIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/parquet/ParquetIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/parquet/ParquetIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>ThriftIO</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/thrift/ThriftIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>S3IO</td>
+    <td class="present">✔</td>
+    <td class="present">✘</td>
+    <td>via X-language</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.aws.s3io.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>S3IO</td>
+    <td class="present">✔</td>
+    <td class="present">✘</td>
+    <td>via X-language</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.gcp.gcsio.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>HadoopFileSystem</td>
+    <td class="present">✔</td>
+    <td class="present">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/hdfs/HadoopFileSystemRegistrar.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.hadoopfilesystem.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>GcsFileSystem</td>
+    <td class="present">✔</td>
+    <td class="present">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/extensions/gcp/storage/GcsFileSystemRegistrar.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.gcp.gcsfilesystem.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/filesystem/gcs";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>LocalFileSystem</td>
+    <td class="present">✔</td>
+    <td class="present">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/LocalFileSystemRegistrar.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/LocalFileSystemRegistrar.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/filesystem/local";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>S3FileSystem</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/aws/s3/S3FileSystemRegistrar.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>In-memory</td>
+    <td class="absent">✘</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/filesystem/memfs";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>KinesisIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/kinesis/KinesisIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>AmqpIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/amqp/AmqpIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>KafkaIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/kafka/KafkaIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>PubSubIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.gcp.pubsub.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/pubsubio";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>JmsIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/jms/JmsIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>MqttIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/mqtt/MqttIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>RabbitMqIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/rabbitmq/RabbitMqIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>SqsIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/aws2/sqs/SqsIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>SnsIO</td>
+    <td class="absent">✘</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/aws2/sns/SnsIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>CassandraIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/cassandra/CassandraIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>HadoopFormatIO</td>
+    <td class="absent">✘</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/hadoop/format/HadoopFormatIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>HBaseIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/hbase/HBaseIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>HCatalogIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/hcatalog/HCatalogIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>KuduIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href=https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/kudu/KuduIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>SolrIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/solr/SolrIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>ElasticsearchIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>BigQueryIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.gcp.bigquery.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/bigqueryio";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>BigTableIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.gcp.bigtableio.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>DatastoreIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/datastore/DatastoreIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/datastore/DatastoreIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>SnowflakeIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/snowflake/SnowflakeIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>SpannerIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/spanner/SpannerIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>JdbcIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/jdbc/JdbcIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>MongoDbIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/mongodb/MongoDbIO.html";>native</a>
+    </td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.mongodbio.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>MongoDbGridFSIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/mongodb/MongoDbGridFSIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>RedisIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/redis/RedisIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>DynamoDBIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/aws2/dynamodb/DynamoDBIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>ClickHouseIO</td>
+    <td class="absent">✘</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/clickhouse/ClickHouseIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>DatabaseIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://pkg.go.dev/github.com/apache/beam/sdks/v2/go/pkg/beam/io/databaseio";>native</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>GenerateSequence</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/GenerateSequence.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>SplunkIO</td>
+    <td class="absent">✘</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/splunk/SplunkIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>FhirIO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/healthcare/FhirIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>HL7v2IO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/healthcare/HL7v2IO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>FlinkStreamingImpulseSource</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td>via X-language</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/pydoc/2.36.0/apache_beam.io.flink.flink_streaming_impulse_source.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>Firestore IO</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/firestore/FirestoreIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>Neo4j</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>Pub/Sub Lite</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/gcp/pubsublite/PubsubLiteIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>InfluxDB</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      <a 
href="https://beam.apache.org/releases/javadoc/2.36.0/org/apache/beam/sdk/io/influxdb/InfluxDbIO.html";>native</a>
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+</table>
+</div>
+
+## Other I/O Connectors for Apache Beam
+
+<div class="table-container-wrapper">
+  <table class="table table-bordered">
+  <tr>
+    <th>Connector Name</th>
+    <th>Source Supported</th>
+    <th>Sink Supported</th>
+    <th>Java</th>
+    <th>Python</th>
+    <th>Go</th>
+    <th>Batch Supported</th>
+    <th>Streaming Supported</th>
+  </tr>
+  <tr>
+    <td>
+      <a href="https://github.com/SolaceProducts/solace-apache-beam";>Solace</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>
+      <a href="https://github.com/google/hana-bq-beam-connector";>SAP Hana to 
Google BigQuery</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>
+      <a href="https://github.com/esakik/beam-mysql-connector";>MySQL</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td>via X-language</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>
+      <a 
href="https://github.com/Refinitiv/trep-websockets-beam-io";>TrepWsIO</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>
+      <a 
href="https://github.com/kineticadb/kinetica-connector-beam";>KineticaDB</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>
+      <a href="https://github.com/cognitedata/cdf-beam-connector-java";>Cognite 
Data Fusion</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td>via X-language</td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+  </tr>
+  <tr>
+    <td>
+      <a href="https://github.com/314e/beam-pyodbc-connector";>Pyodbc</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td>via X-language</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td>via X-language</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+  </tr>
+  <tr>
+    <td>
+      <a href="https://github.com/amient/goconnect";>Go Connect</a>
+    </td>
+    <td class="present">✔</td>
+    <td class="present">✔</td>
+    <td class="absent">✘</td>
+    <td class="absent">✘</td>
+    <td class="present">
+      ✔
+      native
+    </td>
+    <td class="absent">✘</td>

Review comment:
       done




-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to