创建DLI表关联DWS
功能描述
使用CREATE TABLE命令创建DLI表并关联DWS上已有的表。
前提条件
创建DLI表关联DWS之前需要创建跨源连接。管理控制台操作请参考增强型跨源连接。
语法格式
        1 2 3 4 5 6  | 
       
        CREATE TABLE [IF NOT EXISTS] TABLE_NAME USING JDBC OPTIONS ( 'url'='xx', 'dbtable'='db_name_in_DWS.table_name_in_DWS', 'passwdauth' = 'xxx', 'encryption' = 'true');  | 
      
关键字
| 
        参数  | 
      
        描述  | 
     
|---|---|
| 
        url  | 
      
        DWS的连接地址,需要先创建跨源连接,管理控制台操作请参考增强型跨源连接。 创建增强型跨源连接后,可以使用DWS提供的"JDBC连接字符串(内网)",或者内网地址和内网端口访问,格式为"协议头://内网IP:内网端口/数据库名",例如:"jdbc:postgresql://192.168.0.77:8000/postgres"。 
         说明: 
         DWS的连接地址格式为:"协议头://访问地址:访问端口/数据库名" 例如: jdbc:postgresql://to-dws-1174405119-ihlUr78j.datasource.com:8000/postgres 如果想要访问DWS中自定义数据库,请在这个连接里将"postgres"修改为对应的数据库名字。  | 
     
| 
        dbtable  | 
      
        指定在DWS关联的表名,或者"模式名.表名",例如:public.table_name。  | 
     
| 
        user  | 
      
        (已废弃)DWS的用户名。  | 
     
| 
        password  | 
      
        (已废弃)DWS集群的用户密码。  | 
     
| 
        passwdauth  | 
      
        跨源密码认证名称。跨源认证信息创建方式请参考《数据湖探索用户指南》>《跨源认证》。  | 
     
| 
        encryption  | 
      
        使用跨源密码认证时配置为“true”。  | 
     
| 
        partitionColumn  | 
      
        读取数据时,用于设置并发使用的数值型字段。 
         说明: 
         
  | 
     
| 
        lowerBound  | 
      
        partitionColumn设置的字段数据最小值,该值包含在返回结果中。  | 
     
| 
        upperBound  | 
      
        partitionColumn设置的字段数据最大值,该值不包含在返回结果中。  | 
     
| 
        numPartitions  | 
      
        读取数据时并发数。 
         说明: 
         实际读取数据时,会根据“lowerBound”与“upperBound”,平均分配给每个task,获取其中一部分的数据。例如: 'partitionColumn'='id', 'lowerBound'='0', 'upperBound'='100', 'numPartitions'='2' 表示在DLI中会起2个并发task,一个task执行id>=0 and id < 50,另一个task执行id >=50 and id < 100。  | 
     
| 
        fetchsize  | 
      
        读取数据时,每一批次获取数据的记录数,默认值1000。设置越大性能越好,但占用内存越多,该值设置过大会有内存溢出的风险。  | 
     
| 
        batchsize  | 
      
        写入数据时,每一批次写入数据的记录数,默认值1000。设置越大性能越好,但占用内存越多,该值设置过大会有内存溢出的风险。  | 
     
| 
        truncate  | 
      
        执行overwrite时是否不删除原表,直接执行清空表操作,取值范围: 
 默认为“false”,即在执行overwrite操作时,先将原表删除再重新建表。  | 
     
| 
        isolationLevel  | 
      
        事务隔离级别,取值范围: 
 默认值为“READ_UNCOMMITTED”。  | 
     
注意事项
创建DWS关联表时,不需要指定关联表的Schema。DLI会自动获取DWS中对应参数"dbtable"中的表的Schema。
示例
        1 2 3 4 5 6  | 
       
        CREATE TABLE IF NOT EXISTS dli_to_dws USING JDBC OPTIONS ( 'url'='jdbc:postgresql://to-dws-1174405119-ih1Ur78j.datasource.com:8000/postgres', 'dbtable'='test_dws', 'passwdauth' = 'xxx', 'encryption' = 'true');  | 
      
    
      