更新时间:2022-12-07 GMT+08:00

创建表关联DDS

功能描述

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

前提条件

创建表关联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'
);

关键字

表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_mongo(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');