CREATE-RESOURCE

Name

CREATE RESOURCE

Description

该语句用于创建资源。仅 root 或 admin 用户可以创建资源。目前支持 Spark, ODBC, S3 外部资源。 将来其他外部资源可能会加入到 Doris 中使用,如 Spark/GPU 用于查询,HDFS/S3 用于外部存储,MapReduce 用于 ETL 等。

语法:

  1. CREATE [EXTERNAL] RESOURCE "resource_name"
  2. PROPERTIES ("key"="value", ...);

说明:

  • PROPERTIES中需要指定资源的类型 “type” = “[spark|odbc_catalog|s3]“,目前支持 spark, odbc_catalog, s3。
  • 根据资源类型的不同 PROPERTIES 有所不同,具体见示例。

Example

  1. 创建yarn cluster 模式,名为 spark0 的 Spark 资源。

    1. CREATE EXTERNAL RESOURCE "spark0"
    2. PROPERTIES
    3. (
    4. "type" = "spark",
    5. "spark.master" = "yarn",
    6. "spark.submit.deployMode" = "cluster",
    7. "spark.jars" = "xxx.jar,yyy.jar",
    8. "spark.files" = "/tmp/aaa,/tmp/bbb",
    9. "spark.executor.memory" = "1g",
    10. "spark.yarn.queue" = "queue0",
    11. "spark.hadoop.yarn.resourcemanager.address" = "127.0.0.1:9999",
    12. "spark.hadoop.fs.defaultFS" = "hdfs://127.0.0.1:10000",
    13. "working_dir" = "hdfs://127.0.0.1:10000/tmp/doris",
    14. "broker" = "broker0",
    15. "broker.username" = "user0",
    16. "broker.password" = "password0"
    17. );

    Spark 相关参数如下:

    • spark.master: 必填,目前支持yarn,spark://host:port。
    • spark.submit.deployMode: Spark 程序的部署模式,必填,支持 cluster,client 两种。
    • spark.hadoop.yarn.resourcemanager.address: master为yarn时必填。
    • spark.hadoop.fs.defaultFS: master为yarn时必填。
    • 其他参数为可选,参考这里

Spark 用于 ETL 时需要指定 working_dir 和 broker。说明如下:

  • working_dir: ETL 使用的目录。spark作为ETL资源使用时必填。例如:hdfs://host:port/tmp/doris。
  • broker: broker 名字。spark作为ETL资源使用时必填。需要使用ALTER SYSTEM ADD BROKER 命令提前完成配置。
  • broker.property_key: broker读取ETL生成的中间文件时需要指定的认证信息等。
  1. 创建 ODBC resource

    1. CREATE EXTERNAL RESOURCE `oracle_odbc`
    2. PROPERTIES (
    3. "type" = "odbc_catalog",
    4. "host" = "192.168.0.1",
    5. "port" = "8086",
    6. "user" = "test",
    7. "password" = "test",
    8. "database" = "test",
    9. "odbc_type" = "oracle",
    10. "driver" = "Oracle 19 ODBC driver"
    11. );

    ODBC 的相关参数如下:

    • hosts:外表数据库的IP地址
    • driver:ODBC外表的Driver名,该名字需要和be/conf/odbcinst.ini中的Driver名一致。
    • odbc_type:外表数据库的类型,当前支持oracle, mysql, postgresql
    • user:外表数据库的用户名
    • password:对应用户的密码信息
    • charset: 数据库链接的编码信息
    • 另外还支持每个ODBC Driver 实现自定义的参数,参见对应ODBC Driver 的说明

Keywords

  1. CREATE, RESOURCE

Best Practice