Katalog JDBC adalah jenis Katalog Eksternal yang didukung sejak versi 3.0. Topik ini menjelaskan cara membuat dan melihat katalog JDBC.
Latar Belakang
Dengan katalog JDBC, Anda dapat:
Langsung menanyakan data di MySQL, PostgreSQL, dan sumber data yang kompatibel dengan protokol mereka.
Mentransformasi dan mengimpor data dari sumber data JDBC menggunakan kemampuan INSERT INTO bersama dengan katalog JDBC.
Buat katalog JDBC
Sintaksis
CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES
(
"key"="value",
...
);Parameter
catalog_name: Nama katalog JDBC. Parameter ini wajib. Nama harus memenuhi persyaratan berikut:Nama dapat berisi huruf, angka, dan garis bawah (_). Harus dimulai dengan huruf.
Nama harus memiliki panjang 1 hingga 64 karakter.
comment: Opsional. Deskripsi katalog JDBC.PROPERTIES: Properti katalog JDBC. Tabel berikut menjelaskan propertinya.Properti
Wajib
Deskripsi
tipe
Ya
Tipe sumber data. Atur nilainya menjadi
jdbc.user
Ya
Nama pengguna yang digunakan untuk masuk ke database.
password
Ya
Kata sandi yang digunakan untuk masuk ke database.
jdbc_uri
Ya
URI untuk driver JDBC untuk terhubung ke database.
Jika MySQL digunakan, tentukan URL dalam format
"jdbc:mysql://ip:port".Jika PostgreSQL digunakan, tentukan URL dalam format
"jdbc:postgresql://ip:port/db_name".
driver_url
Ya
URL untuk mengunduh paket JAR driver JDBC.
Untuk instans StarRocks Serverless, Anda harus mengunggah paket JAR driver JDBC ke OSS dan mengatur izin baca-publik untuk paket JAR tersebut. Untuk informasi lebih lanjut, lihat Unggah sederhana dan Atur ACL untuk bucket. Kemudian, atur parameter driver_url ke URL HTTP yang berisi titik akhir internal dari bucket OSS. Contoh:
http://<YourBucketName>.oss-cn-xxxx-internal.aliyuncs.com/mysql-connector-java-*.jar.driver_class
Ya
Nama kelas driver JDBC. Anda dapat menentukan nama kelas berdasarkan kebutuhan bisnis Anda.
MySQL:
Untuk MySQL 5.X dan sebelumnya, gunakan
com.mysql.jdbc.Driver.Untuk MySQL 6.X dan setelahnya, gunakan
com.mysql.cj.jdbc.Driver.
PostgreSQL: Gunakan
org.postgresql.Driver.
Contoh
CREATE EXTERNAL CATALOG mysql_catalog
PROPERTIES
(
"type"="jdbc",
"user"="root",
"password"="xxxxx",
"jdbc_uri"="jdbc:mysql://127.0.0.1:3306",
"driver_url"="http://<YourBucketName>.oss-cn-xxxx-internal.aliyuncs.com/mysql-connector-java-*.jar",
"driver_class"="com.mysql.cj.jdbc.Driver"
);Tentukan versi driver MySQL dalam mysql-connector-java-*.jar berdasarkan kebutuhan bisnis Anda.
Melihat katalog JDBC
Anda dapat menggunakan pernyataan SHOW CATALOGS untuk menanyakan semua katalog dalam kluster StarRocks saat ini.
SHOW CATALOGS;Anda juga dapat menggunakan pernyataan SHOW CREATE CATALOG untuk menanyakan pernyataan pembuatan Katalog Eksternal tertentu. Sebagai contoh, gunakan pernyataan berikut untuk menanyakan pernyataan pembuatan katalog JDBC
jdbc0.SHOW CREATE CATALOG jdbc0;
Hapus katalog JDBC
Anda dapat menggunakan pernyataan DROP CATALOG untuk menghapus katalog JDBC.
Sebagai contoh, gunakan pernyataan berikut untuk menghapus katalog JDBC jdbc0.
DROP Catalog jdbc0;Gunakan katalog JDBC untuk menanyakan data
Anda dapat menggunakan operasi berikut untuk menanyakan data dalam tabel di dalam katalog JDBC.
Gunakan pernyataan SHOW DATABASES untuk melihat database dalam kluster tempat katalog yang ditentukan berada.
SHOW DATABASES FROM <catalog_name>;Gunakan pernyataan SET CATALOG untuk beralih katalog yang berlaku dalam sesi saat ini.
SET CATALOG <catalog_name>;Kemudian gunakan pernyataan USE untuk menentukan database yang berlaku dalam sesi saat ini.
USE <db_name>;Atau, Anda dapat menggunakan pernyataan USE untuk langsung beralih sesi ke database tertentu di bawah katalog target.
USE <catalog_name>.<db_name>;Gunakan pernyataan SELECT untuk menanyakan tabel target dalam database target.
SELECT * FROM <table_name>;
Anda juga dapat menggunakan pernyataan SELECT untuk menanyakan tabel target dalam database target.
SELECT * FROM <catalog_name>.<database_name>.<table_name>;
Tanya Jawab Umum
T: Bagaimana cara menangani kesalahan "Malformed database URL, failed to parse the main URL sections"?
J: Kesalahan ini biasanya disebabkan oleh URI yang salah dalam parameter jdbc_uri. Periksa dan pastikan bahwa URI yang Anda masukkan benar. Untuk informasi lebih lanjut, lihat deskripsi parameter untuk PROPERTIES dalam topik ini.