CREATE-CATALOG

Name

SinceVersion 1.2

CREATE CATALOG

Description

该语句用于创建外部数据目录(catalog)

语法:

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

RESOURCE 可以通过 CREATE RESOURCE 创建,目前支持三种 Resource,分别连接三种外部数据源:

  • hms:Hive MetaStore
  • es:Elasticsearch
  • jdbc:数据库访问的标准接口(JDBC), 当前支持 MySQL 和 PostgreSQL

创建 catalog

通过 resource 创建 catalog

1.2.0 以后的版本推荐通过 resource 创建 catalog,多个使用场景可以复用相同的 resource。

  1. CREATE RESOURCE catalog_resource PROPERTIES (
  2. 'type'='hms|es|jdbc',
  3. ...
  4. );
  5. // 在 PROERPTIES 中指定的配置,将会覆盖 Resource 中的配置。
  6. CREATE CATALOG catalog_name WITH RESOURCE catalog_resource PROPERTIES(
  7. 'key' = 'value'
  8. )

通过 properties 创建 catalog

1.2.0 版本通过 properties 创建 catalog。

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

Example

  1. 新建数据目录 hive

    1. -- 1.2.0+ 版本
    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 版本
    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. 新建数据目录 es

    1. -- 1.2.0+ 版本
    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 版本
    8. CREATE CATALOG es PROPERTIES (
    9. "type"="es",
    10. "hosts"="http://127.0.0.1:9200"
    11. );
  3. 新建数据目录 jdbc mysql

    1. -- 1.2.0+ 版本
    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 版本
    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. -- 方式一
    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. -- 方式二,注意有jdbc前缀
    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. -- 方式一
    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. -- 方式二,注意有jdbc前缀
    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. -- 方式一
    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. -- 方式二,注意有jdbc前缀
    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