更新时间:2024-07-27 GMT+08:00

创建DLI表关联DDS

功能描述

使用CREATE TABLE命令创建DLI表并关联DDS上已有的collection。

Spark跨源开发场景中直接配置跨源认证信息存在密码泄露的风险,优先推荐您使用DLI提供的跨源认证方式。

跨源认证简介及操作方法请参考跨源认证简介

前提条件

创建DLI表关联DDS之前需要创建跨源连接,绑定队列。管理控制台操作请参考增强型跨源连接

语法格式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
CREATE TABLE [IF NOT EXISTS] TABLE_NAME(
    FIELDNAME1 FIELDTYPE1,
    FIELDNAME2 FIELDTYPE2)
  USING MONGO OPTIONS (
  'url'='IP:PORT[,IP:PORT]/[DATABASE][.COLLECTION][AUTH_PROPERTIES]',
  'database'='xx',
  'collection'='xx',
  'passwdauth' = 'xxx',
  'encryption' = 'true'
);

文档数据库服务(Document Database Service,简称DDS)完全兼容MongoDB协议,因此语法中使用“using mongo options”。

关键字

表1 CREATE TABLE关键字说明

参数

描述

url

DDS的连接信息,需要先创建跨源连接,管理控制台操作请参考增强型跨源连接

创建增强型跨源连接后,使用DDS提供的"随机连接地址",格式为:

"IP:PORT[,IP:PORT]/[DATABASE][.COLLECTION][AUTH_PROPERTIES]"

例如:"192.168.4.62:8635,192.168.5.134:8635/test?authSource=admin"

database

DDS的数据库名,如果在"url"中同时指定了数据库名,则"url"中的数据库名不生效。

collection

DDS中的collection名,如果在"url"中同时指定了collection,则"url"中的collection不生效。

user

(已废弃)访问DDS集群用户名。

password

(已废弃)访问DDS集群密码

passwdauth

跨源密码认证名称。跨源认证信息创建方式请参考《数据湖探索用户指南》>《跨源认证》。

encryption

使用跨源密码认证时配置为“true”

如果在DDS中已存在collection,则建表可以不指定schema信息,DLI会根据collection中的数据自动生成schema信息。

示例

1
2
3
4
5
6
create table 1_datasource_mongo.test_momgo(id string, name string, age int) using mongo options(
  'url' = '192.168.4.62:8635,192.168.5.134:8635/test?authSource=admin',
  'database' = 'test',
  'collection' = 'test',
  'passwdauth' = 'xxx',
  'encryption' = 'true');