
# 创建DLI表关联CSS
#### 功能描述
使用CREATE TABLE命令创建DLI表并关联CSS上已有的表。
![](https://support.huaweicloud.com/sqlref-spark-dli/public_sys-resources/note_3.0-zh-cn.png)
Spark跨源开发场景中直接配置跨源认证信息存在密码泄露的风险，优先推荐您使用DLI提供的跨源认证方式。
跨源认证简介及操作方法请参考[跨源认证简介](https://support.huaweicloud.com/usermanual-dli/dli_01_0561.html)。
#### 前提条件
创建DLI表关联CSS之前需要创建跨源连接。管理控制台操作请参考[增强型跨源连接](https://support.huaweicloud.com/usermanual-dli/dli_01_0426.html)。
#### 语法格式
```
CREATE TABLE [IF NOT EXISTS] TABLE_NAME(
  FIELDNAME1 FIELDTYPE1,
  FIELDNAME2 FIELDTYPE2)
  USING CSS OPTIONS (
  'es.nodes'='xx',
  'resource'='type_path_in_CSS',
  'pushdown'='true',
  'strict'='false',
  'batch.size.entries'= '1000',
  'batch.size.bytes'= '1mb',
  'es.nodes.wan.only' = 'true',
  'es.mapping.id' = 'FIELDNAME');
```
#### 关键字
表1CREATE TABLE关键字说明 
| **参数**              | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|
| es.nodes            | CSS的连接地址，需要先创建跨源连接，管理控制台操作请参考[增强型跨源连接](https://support.huaweicloud.com/usermanual-dli/dli_01_0426.html)。 创建经典型跨源连接后，使用经典型跨源连接中返回的连接地址。 创建增强型跨源连接后，使用CSS提供的"内网访问地址"，格式为"IP1:PORT1,IP2:PORT2"。                                                                                                                                                                                                                                                                                                                                                                                            |
| resource            | 指定在CSS关联的资源名，用"/index/type"指定资源位置（可简单理解index为database，type为table，但绝不等同）。 说明： - ES 6.X版本中，单个Index只支持唯一type，type名可以自定义。  - ES 7.X版本中，单个Index将使用"_doc"作为type名，不再支持自定义。若访问ES 7.X版本时，该参数只需要填写index即可。   |
| pushdown            | CSS的下压功能是否开启，默认为"true"。包含大量IO传输的表在有where过滤条件的情况下能够开启pushdown降低IO。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| strict              | CSS的下压是否是严格的，默认为"false"。精确匹配的场景下比pushdown降低更多IO。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| batch.size.entries  | 单次batch插入entry的条数上限，默认为1000。如果单条数据非常大，在bulk存储设置的数据条数前提前到达了单次batch的总数据量上限，则停止存储数据，以batch.size.bytes为准，提交该批次的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| batch.size.bytes    | 单次batch的总数据量上限，默认为1mb。如果单条数据非常小，在bulk存储到总数据量前提前到达了单次batch的条数上限，则停止存储数据，以batch.size.entries为准，提交该批次的数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| es.nodes.wan.only   | 是否仅通过域名访问es节点，默认为false。使用经典型跨源的连接地址作为es.nodes时，该参数需要配置为true；使用css服务提供的原始内网IP地址作为es.nodes时，不需要填写该参数或者配置为false。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| es.mapping.id       | 指定一个字段，其值作为es中Document的id。 说明： - 相同/index/type下的Document id是唯一的。如果作为Document id的字段存在重复值，则在执行插入es时，重复id的Document将会被覆盖。  - 该特性可以用作容错解决方案。当插入数据执行一半时，DLI作业失败，会有部分数据已经插入到es中，这部分为冗余数据。如果设置了Document id，则在重新执行DLI作业时，会覆盖上一次的冗余数据。                                           |
| es.net.ssl          | 连接安全CSS集群，默认值为false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| es.certificate.name | 连接安全CSS集群，使用的跨源认证信息名称。跨源认证信息创建方式请参考《数据湖探索用户指南》\>《[跨源认证](https://support.huaweicloud.com/usermanual-dli/dli_01_0427.html)》。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   
![](https://support.huaweicloud.com/sqlref-spark-dli/public_sys-resources/note_3.0-zh-cn.png)
batch.size.entries和batch.size.bytes分别对数据条数和数据量大小进行限制。
#### 示例
```
CREATE TABLE IF NOT EXISTS dli_to_css (doc_id String, name string, age int)
  USING CSS OPTIONS (
  'es.nodes' ='to-css-1174404703-LzwpJEyx.datasource.com:9200',
  'resource' ='/dli_index/dli_type',
  'pushdown' ='false',
  'strict' ='true',
  'es.nodes.wan.only' ='true',
  'es.mapping.id' ='doc_id');
```
