O JDBC Catalog é um External Catalog que permite consultar bancos de dados MySQL e PostgreSQL diretamente do EMR Serverless StarRocks, sem necessidade de movimentação de dados. O JDBC Catalog é suportado a partir da versão 3.0 do StarRocks.
Com um JDBC Catalog, você pode:
Consultar dados diretamente no MySQL, no PostgreSQL e em fontes de dados compatíveis com seus protocolos.
Carregar dados de fontes JDBC em tabelas do StarRocks usando
INSERT INTO.
Crie um JDBC catalog
Sintaxe
CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES
(
"key"="value",
...
);
Parâmetros
-
catalog_name: Obrigatório. Nome do JDBC catalog.Pode conter letras, dígitos e sublinhados (
_). Deve começar com uma letra.Comprimento: 1 a 64 caracteres.
comment: Opcional. Descrição do JDBC catalog.PROPERTIES: Propriedades de conexão do JDBC catalog. Todas as propriedades na tabela a seguir são obrigatórias.
|
Propriedade |
Descrição |
|
|
Tipo da fonte de dados. Defina como |
|
|
Nome de usuário para conectar-se ao banco de dados. |
|
|
Senha para conectar-se ao banco de dados. |
|
|
URI de conexão do driver JDBC. Use |
|
|
URL para baixar o pacote JAR do driver JDBC. Em uma instância Serverless StarRocks, carregue o pacote JAR no Object Storage Service (OSS) com acesso de leitura pública e defina esta propriedade como uma URL HTTP usando o endpoint interno do bucket do OSS. Exemplo: |
|
|
Nome da classe do driver JDBC. Para MySQL 5.x e anteriores, use |
Exemplo
-- MySQL
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"
);
Substitua mysql-connector-java-*.jar pelo nome de arquivo versionado real do seu pacote JAR de driver JDBC do MySQL.
Visualize JDBC catalogs
Para listar todos os catalogs no cluster StarRocks atual:
SHOW CATALOGS;
Para visualizar a instrução de criação de um catalog específico, por exemplo, jdbc0:
SHOW CREATE CATALOG jdbc0;
Exclua um JDBC catalog
Para excluir um JDBC catalog, por exemplo, jdbc0:
DROP CATALOG jdbc0;
Consultar dados por meio de um JDBC catalog
Opção 1: Alternar o contexto e consultar
-
Liste os bancos de dados no catalog:
SHOW DATABASES FROM <catalog_name>; -
Alterne para o catalog e defina o banco de dados ativo:
SET CATALOG <catalog_name>; USE <db_name>;Como alternativa, alterne diretamente para o banco de dados:
USE <catalog_name>.<db_name>; -
Execute uma consulta na tabela de destino:
SELECT * FROM <table_name>;
Opção 2: Nome de tabela totalmente qualificado
Consulte sem alternar o contexto usando um nome composto por três partes:
SELECT * FROM <catalog_name>.<database_name>.<table_name>;
Perguntas frequentes
P: Como resolver o erro "Malformed database URL, failed to parse the main URL sections"?
O valor de jdbc_uri está malformado. Verifique o formato:
MySQL:
jdbc:mysql://ip:portPostgreSQL:
jdbc:postgresql://ip:port/db_name
Certifique-se de que não há espaços extras, dois-pontos ausentes ou barras incorretas. Consulte a descrição do parâmetro jdbc_uri acima para obter mais detalhes.