CREATE-CATALOG

Name

CREATE CATALOG

Description

This statement is used to create an external catalog

Syntax:

  1. CREATE CATALOG [IF NOT EXISTS] catalog_name
  2. [WITH RESOURCE resource_name]
  3. [PROPERTIES ("key"="value", ...)];

RESOURCE can be created from CREATE RESOURCE, current supports:

  • hms:Hive MetaStore
  • es:Elasticsearch
  • jdbc: Standard interface for database access (JDBC), currently supports MySQL and PostgreSQL

Create catalog

Create catalog through resource

In later versions of 1.2.0, it is recommended to create a catalog through resource.

  1. CREATE RESOURCE catalog_resource PROPERTIES (
  2. 'type'='hms|es|jdbc',
  3. ...
  4. );
  5. CREATE CATALOG catalog_name WITH RESOURCE catalog_resource PROPERTIES (
  6. 'key' = 'value'
  7. );

Create catalog through properties

Version 1.2.0 creates a catalog through properties.

  1. CREATE CATALOG catalog_name PROPERTIES (
  2. 'type'='hms|es|jdbc',
  3. ...
  4. );

Example

  1. Create catalog hive

    1. -- 1.2.0+ Version
    2. CREATE RESOURCE hms_resource PROPERTIES (
    3. 'type'='hms',
    4. 'hive.metastore.uris' = 'thrift://127.0.0.1:7004',
    5. 'dfs.nameservices'='HANN',
    6. 'dfs.ha.namenodes.HANN'='nn1,nn2',
    7. 'dfs.namenode.rpc-address.HANN.nn1'='nn1_host:rpc_port',
    8. 'dfs.namenode.rpc-address.HANN.nn2'='nn2_host:rpc_port',
    9. 'dfs.client.failover.proxy.provider.HANN'='org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider'
    10. );
    11. CREATE CATALOG hive WITH RESOURCE hms_resource;
    12. -- 1.2.0 Version
    13. CREATE CATALOG hive PROPERTIES (
    14. 'type'='hms',
    15. 'hive.metastore.uris' = 'thrift://127.0.0.1:7004',
    16. 'dfs.nameservices'='HANN',
    17. 'dfs.ha.namenodes.HANN'='nn1,nn2',
    18. 'dfs.namenode.rpc-address.HANN.nn1'='nn1_host:rpc_port',
    19. 'dfs.namenode.rpc-address.HANN.nn2'='nn2_host:rpc_port',
    20. 'dfs.client.failover.proxy.provider.HANN'='org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider'
    21. );
  2. Create catalog es

    1. -- 1.2.0+ Version
    2. CREATE RESOURCE es_resource PROPERTIES (
    3. "type"="es",
    4. "hosts"="http://127.0.0.1:9200"
    5. );
    6. CREATE CATALOG es WITH RESOURCE es_resource;
    7. -- 1.2.0 Version
    8. CREATE CATALOG es PROPERTIES (
    9. "type"="es",
    10. "hosts"="http://127.0.0.1:9200"
    11. );
  3. Create catalog jdbc mysql

    1. -- 1.2.0+ Version
    2. CREATE RESOURCE mysql_resource PROPERTIES (
    3. "type"="jdbc",
    4. "user"="root",
    5. "password"="123456",
    6. "jdbc_url" = "jdbc:mysql://127.0.0.1:3316/doris_test?useSSL=false",
    7. "driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/mysql-connector-java-8.0.25.jar",
    8. "driver_class" = "com.mysql.cj.jdbc.Driver"
    9. );
    10. CREATE CATALOG jdbc WITH RESOURCE msyql_resource;
    11. -- 1.2.0 Version
    12. CREATE CATALOG jdbc PROPERTIES (
    13. "type"="jdbc",
    14. "jdbc.user"="root",
    15. "jdbc.password"="123456",
    16. "jdbc.jdbc_url" = "jdbc:mysql://127.0.0.1:3316/doris_test?useSSL=false",
    17. "jdbc.driver_url" = "https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/jdbc_driver/mysql-connector-java-8.0.25.jar",
    18. "jdbc.driver_class" = "com.mysql.cj.jdbc.Driver"
    19. );

    postgresql

    1. -- The first way
    2. CREATE RESOURCE pg_resource PROPERTIES (
    3. "type"="jdbc",
    4. "user"="postgres",
    5. "password"="123456",
    6. "jdbc_url" = "jdbc:postgresql://127.0.0.1:5432/demo",
    7. "driver_url" = "file:/path/to/postgresql-42.5.1.jar",
    8. "driver_class" = "org.postgresql.Driver"
    9. );
    10. CREATE CATALOG jdbc WITH RESOURCE pg_resource;
    11. -- The second way, note: keys have 'jdbc' prefix in front.
    12. CREATE CATALOG jdbc PROPERTIES (
    13. "type"="jdbc",
    14. "jdbc.user"="postgres",
    15. "jdbc.password"="123456",
    16. "jdbc.jdbc_url" = "jdbc:postgresql://127.0.0.1:5432/demo",
    17. "jdbc.driver_url" = "file:/path/to/postgresql-42.5.1.jar",
    18. "jdbc.driver_class" = "org.postgresql.Driver"
    19. );

    clickhouse

    1. -- 1.2.0+ Version
    2. CREATE RESOURCE clickhouse_resource PROPERTIES (
    3. "type"="jdbc",
    4. "user"="default",
    5. "password"="123456",
    6. "jdbc_url" = "jdbc:clickhouse://127.0.0.1:8123/demo",
    7. "driver_url" = "file:///path/to/clickhouse-jdbc-0.3.2-patch11-all.jar",
    8. "driver_class" = "com.clickhouse.jdbc.ClickHouseDriver"
    9. )
    10. CREATE CATALOG jdbc WITH RESOURCE clickhouse_resource;
    11. -- 1.2.0 Version
    12. CREATE CATALOG jdbc PROPERTIES (
    13. "type"="jdbc",
    14. "jdbc.jdbc_url" = "jdbc:clickhouse://127.0.0.1:8123/demo",
    15. ...
    16. )

    oracle

    1. -- The first way
    2. CREATE RESOURCE oracle_resource PROPERTIES (
    3. "type"="jdbc",
    4. "user"="doris",
    5. "password"="123456",
    6. "jdbc_url" = "jdbc:oracle:thin:@127.0.0.1:1521:helowin",
    7. "driver_url" = "file:/path/to/ojdbc6.jar",
    8. "driver_class" = "oracle.jdbc.driver.OracleDriver"
    9. );
    10. CREATE CATALOG jdbc WITH RESOURCE oracle_resource;
    11. -- The second way, note: keys have 'jdbc' prefix in front.
    12. CREATE CATALOG jdbc PROPERTIES (
    13. "type"="jdbc",
    14. "jdbc.user"="doris",
    15. "jdbc.password"="123456",
    16. "jdbc.jdbc_url" = "jdbc:oracle:thin:@127.0.0.1:1521:helowin",
    17. "jdbc.driver_url" = "file:/path/to/ojdbc6.jar",
    18. "jdbc.driver_class" = "oracle.jdbc.driver.OracleDriver"
    19. );

    SQLServer

    1. -- The first way
    2. CREATE RESOURCE sqlserver_resource PROPERTIES (
    3. "type"="jdbc",
    4. "user"="SA",
    5. "password"="Doris123456",
    6. "jdbc_url" = "jdbc:sqlserver://localhost:1433;DataBaseName=doris_test",
    7. "driver_url" = "file:/path/to/mssql-jdbc-11.2.3.jre8.jar",
    8. "driver_class" = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    9. );
    10. CREATE CATALOG sqlserver_catlog WITH RESOURCE sqlserver_resource;
    11. -- The second way, note: keys have 'jdbc' prefix in front.
    12. CREATE CATALOG sqlserver_catlog PROPERTIES (
    13. "type"="jdbc",
    14. "jdbc.user"="SA",
    15. "jdbc.password"="Doris123456",
    16. "jdbc.jdbc_url" = "jdbc:sqlserver://localhost:1433;DataBaseName=doris_test",
    17. "jdbc.driver_url" = "file:/path/to/mssql-jdbc-11.2.3.jre8.jar",
    18. "jdbc.driver_class" = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    19. );

Keywords

CREATE, CATALOG

Best Practice