创建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”。
关键字
参数 |
描述 |
---|---|
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'); |