Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
laughingman7743 committed Feb 10, 2025
1 parent 544275c commit e4559c9
Show file tree
Hide file tree
Showing 28 changed files with 2,581 additions and 69 deletions.
46 changes: 34 additions & 12 deletions docs/content.zh/docs/connectors/table/jdbc.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,17 +47,18 @@ JDBC 连接器不是二进制发行版的一部分,请查阅[这里]({{< ref "

在连接到具体数据库时,也需要对应的驱动依赖,目前支持的驱动如下:

| Driver | Group Id | Artifact Id | JAR |
|:-----------|:---------------------------|:-----------------------|:----------------------------------------------------------------------------------------------------------------------------|
| MySQL | `mysql` | `mysql-connector-java` | [下载](https://repo.maven.apache.org/maven2/mysql/mysql-connector-java/) |
| Oracle | `com.oracle.database.jdbc` | `ojdbc8` | [下载](https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8) |
| PostgreSQL | `org.postgresql` | `postgresql` | [下载](https://jdbc.postgresql.org/download/) |
| Derby | `org.apache.derby` | `derby` | [下载](http://db.apache.org/derby/derby_downloads.html) |
| SQL Server | `com.microsoft.sqlserver` | `mssql-jdbc` | [下载](https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver16) |
| CrateDB | `io.crate` | `crate-jdbc` | [下载](https://repo1.maven.org/maven2/io/crate/crate-jdbc/) |
| Db2 | `com.ibm.db2.jcc` | `db2jcc` | [下载](https://www.ibm.com/support/pages/download-db2-fix-packs-version-db2-linux-unix-and-windows) |
| Trino | `io.trino` | `trino-jdbc` | [下载](https://repo1.maven.org/maven2/io/trino/trino-jdbc/) |
| OceanBase | `com.oceanbase` | `oceanbase-client` | [下载](https://repo1.maven.org/maven2/com/oceanbase/oceanbase-client/) |
| Driver | Group Id | Artifact Id | JAR |
|:-----------|:---------------------------|:----------------------------|:----------------------------------------------------------------------------------------------------------------------------|
| MySQL | `mysql` | `mysql-connector-java` | [下载](https://repo.maven.apache.org/maven2/mysql/mysql-connector-java/) |
| Oracle | `com.oracle.database.jdbc` | `ojdbc8` | [下载](https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8) |
| PostgreSQL | `org.postgresql` | `postgresql` | [下载](https://jdbc.postgresql.org/download/) |
| Derby | `org.apache.derby` | `derby` | [下载](http://db.apache.org/derby/derby_downloads.html) |
| SQL Server | `com.microsoft.sqlserver` | `mssql-jdbc` | [下载](https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver16) |
| CrateDB | `io.crate` | `crate-jdbc` | [下载](https://repo1.maven.org/maven2/io/crate/crate-jdbc/) |
| Db2 | `com.ibm.db2.jcc` | `db2jcc` | [下载](https://www.ibm.com/support/pages/download-db2-fix-packs-version-db2-linux-unix-and-windows) |
| Trino | `io.trino` | `trino-jdbc` | [下载](https://repo1.maven.org/maven2/io/trino/trino-jdbc/) |
| OceanBase | `com.oceanbase` | `oceanbase-client` | [下载](https://repo1.maven.org/maven2/com/oceanbase/oceanbase-client/) |
| Spanner | `com.google.cloud` | `google-cloud-spanner-jdbc` | [下载](https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner-jdbc) |

当前,JDBC 连接器和驱动不在 Flink 二进制发布包中,请参阅[这里]({{< ref "docs/dev/configuration/overview" >}})了解在集群上执行时如何连接它们。

Expand Down Expand Up @@ -434,6 +435,10 @@ lookup cache 的主要目的是用于提高时态表关联 JDBC 连接器的性
WHEN NOT MATCHED THEN INSERT (..) <br>
VALUES (..)</td>
</tr>
<tr>
<td>Spanner</td>
<td>INSERT OR UPDATE INTO .. (..) VALUES (..)</td>
</tr>
</tbody>
</table>

Expand Down Expand Up @@ -473,6 +478,7 @@ JDBC catalog 支持以下参数:
- 对于 Postgres Catalog `base-url` 应为 `"jdbc:postgresql://<ip>:<port>"` 的格式。
- 对于 MySQL Catalog `base-url` 应为 `"jdbc:mysql://<ip>:<port>"` 的格式。
- 对于 OceanBase Catalog `base-url` 应为 `"jdbc:oceanbase://<ip>:<port>"` 的格式。
- 对于 Spanner Catalog `base-url` 应为 `"jdbc:cloudspanner:/projects/<project>/instances/<instance>/databases/<database>"` 的格式。
- `compatible-mode`: 选填,数据库的兼容模式。

{{< tabs "10bd8bfb-674c-46aa-8a36-385537df5791" >}}
Expand Down Expand Up @@ -709,7 +715,7 @@ SELECT * FROM given_database.test_table2;

数据类型映射
----------------
Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、Oracle、PostgreSQL、CrateDB, Derby、Db2、 SQL Server、OceanBase 等。其中,Derby 通常是用于测试目的。下表列出了从关系数据库数据类型到 Flink SQL 数据类型的类型映射,映射表可以使得在 Flink 中定义 JDBC 表更加简单。
Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、Oracle、PostgreSQL、CrateDB, Derby、Db2、 SQL Server、OceanBase、Spanner 等。其中,Derby 通常是用于测试目的。下表列出了从关系数据库数据类型到 Flink SQL 数据类型的类型映射,映射表可以使得在 Flink 中定义 JDBC 表更加简单。

<table class="table table-bordered">
<thead>
Expand All @@ -723,6 +729,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<th class="text-left"><a href="https://trino.io/docs/current/language/types.html">Trino type</a></th>
<th class="text-left"><a href="https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000222199">OceanBase MySQL mode type</a></th>
<th class="text-left"><a href="https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000222012">OceanBase Oracle mode type</a></th>
<th class="text-left"><a href="https://cloud.google.com/spanner/docs/reference/standard-sql/data-types">Spanner type</a></th>
<th class="text-left"><a href="{{< ref "docs/dev/table/types" >}}">Flink SQL type</a></th>
</tr>
</thead>
Expand All @@ -737,6 +744,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td><code>TINYINT</code></td>
<td><code>TINYINT</code></td>
<td></td>
<td></td>
<td><code>TINYINT</code></td>
</tr>
<tr>
Expand All @@ -759,6 +767,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<code>SMALLINT</code><br>
<code>TINYINT UNSIGNED</code></td>
<td></td>
<td></td>
<td><code>SMALLINT</code></td>
</tr>
<tr>
Expand All @@ -781,6 +790,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<code>MEDIUMINT</code><br>
<code>SMALLINT UNSIGNED</code></td>
<td></td>
<td></td>
<td><code>INT</code></td>
</tr>
<tr>
Expand All @@ -801,6 +811,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<code>BIGINT</code><br>
<code>INT UNSIGNED</code></td>
<td></td>
<td>INT64</td>
<td><code>BIGINT</code></td>
</tr>
<tr>
Expand All @@ -813,6 +824,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td></td>
<td><code>BIGINT UNSIGNED</code></td>
<td></td>
<td>NUMERIC</td>
<td><code>DECIMAL(20, 0)</code></td>
</tr>
<tr>
Expand All @@ -831,6 +843,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td><code>FLOAT</code></td>
<td>
<code>BINARY_FLOAT</code></td>
<td><code>FLOAT32</code></td>
<td><code>FLOAT</code></td>
</tr>
<tr>
Expand All @@ -849,6 +862,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td><code>DOUBLE</code></td>
<td><code>DOUBLE</code></td>
<td><code>BINARY_DOUBLE</code></td>
<td><code>FLOAT64</code></td>
<td><code>DOUBLE</code></td>
</tr>
<tr>
Expand Down Expand Up @@ -877,6 +891,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td>
<code>FLOAT(s)</code><br>
<code>NUMBER(p, s)</code></td>
<td><code>NUMERIC</code></td>
<td><code>DECIMAL(p, s)</code></td>
</tr>
<tr>
Expand All @@ -894,6 +909,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<code>TINYINT(1)</code></td>
<td></td>
<td><code>BOOLEAN</code></td>
<td><code>BOOLEAN</code></td>
</tr>
<tr>
<td><code>DATE</code></td>
Expand All @@ -906,6 +922,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td><code>DATE</code></td>
<td><code>DATE</code></td>
<td><code>DATE</code></td>
<td><code>DATE</code></td>
</tr>
<tr>
<td><code>TIME [(p)]</code></td>
Expand All @@ -917,6 +934,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td><code>TIME_WITHOUT_TIME_ZONE</code></td>
<td><code>TIME [(p)]</code></td>
<td><code>DATE</code></td>
<td><code></code></td>
<td><code>TIME [(p)] [WITHOUT TIMEZONE]</code></td>
</tr>
<tr>
Expand All @@ -932,6 +950,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td><code>TIMESTAMP_WITHOUT_TIME_ZONE</code></td>
<td><code>DATETIME [(p)]</code></td>
<td><code>TIMESTAMP [(p)] [WITHOUT TIMEZONE]</code></td>
<td><code>TIMESTAMP [(p)]</code></td>
<td><code>TIMESTAMP [(p)] [WITHOUT TIMEZONE]</code></td>
</tr>
<tr>
Expand Down Expand Up @@ -980,6 +999,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<code>NCHAR(n)</code><br>
<code>VARCHAR2(n)</code><br>
<code>CLOB</code></td>
<td><code>STRING(n)</code></td>
<td><code>STRING</code></td>
</tr>
<tr>
Expand All @@ -1005,6 +1025,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td>
<code>RAW(s)</code><br>
<code>BLOB</code></td>
<td><code>BYTES(n)</code></td>
<td><code>BYTES</code></td>
</tr>
<tr>
Expand All @@ -1018,6 +1039,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td></td>
<td></td>
<td><code>ARRAY</code></td>
<td><code>ARRAY</code></td>
</tr>
</tbody>
</table>
Expand Down
Loading

0 comments on commit e4559c9

Please sign in to comment.