华为云用户手册

  • OVER WINDOW Over Window与Group Window区别在于Over window每一行都会输出一条记录。 语法格式 1 2 3 4 5 6 7 8 9 10 11 SELECT agg1(attr1) OVER ( [PARTITION BY partition_name] ORDER BY proctime|rowtime ROWS BETWEEN (UNBOUNDED|rowCOUNT) PRECEDING AND CURRENT ROW FROM TABLENAME SELECT agg1(attr1) OVER ( [PARTITION BY partition_name] ORDER BY proctime|rowtime RANGE BETWEEN (UNBOUNDED|timeInterval) PRECEDING AND CURRENT ROW FROM TABLENAME 语法说明 表5 参数说明 参数 参数说明 PARTITION BY 指定分组的主键,每个分组各自进行计算。 ORDER BY 指定数据按processing time或event time作为时间戳。 ROWS 个数窗口。 RANGE 时间窗口。 注意事项 所有的聚合必须定义到同一个窗口中,即相同的分区、排序和区间。 当前仅支持 PRECEDING (无界或有界) 到 CURRENT ROW 范围内的窗口、FOLLOWING 所描述的区间并未支持。 ORDER BY 必须指定于单个的时间属性。 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 // 计算从规则启动到目前为止的计数及总和(in proctime) insert into temp SELECT name, count(amount) OVER (PARTITION BY name ORDER BY proctime RANGE UNBOUNDED preceding) as cnt1, sum(amount) OVER (PARTITION BY name ORDER BY proctime RANGE UNBOUNDED preceding) as cnt2 FROM Orders; // 计算最近四条记录的计数及总和(in proctime) insert into temp SELECT name, count(amount) OVER (PARTITION BY name ORDER BY proctime ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) as cnt1, sum(amount) OVER (PARTITION BY name ORDER BY proctime ROWS BETWEEN 4 PRECEDING AND CURRENT ROW) as cnt2 FROM Orders; // 计算最近60s的计数及总和(in eventtime),基于事件时间处理,事件时间为Orders中的timeattr字段。 insert into temp SELECT name, count(amount) OVER (PARTITION BY name ORDER BY timeattr RANGE BETWEEN INTERVAL '60' SECOND PRECEDING AND CURRENT ROW) as cnt1, sum(amount) OVER (PARTITION BY name ORDER BY timeattr RANGE BETWEEN INTERVAL '60' SECOND PRECEDING AND CURRENT ROW) as cnt2 FROM Orders;
  • 语法格式 CREATE SOURCE STREAM stream_id (attr_name attr_type (',' attr_name attr_type)* ) WITH ( type = "dis", region = "", channel = "", partition_count = "", encode = "", field_delimiter = "", offset= "");
  • 功能描述 创建source流从 数据接入服务 (DIS)获取数据。用户数据从DIS接入,Flink作业从DIS的通道读取数据,作为作业的输入数据。Flink作业可通过DIS的source源将数据从生产者快速移出,进行持续处理,适用于将云服务外数据导入云服务后进行过滤、实时分析、监控报告和转储等场景。 数据接入服务(Data Ingestion Service,简称DIS)为处理或分析流数据的自定义应用程序构建数据流管道,主要解决云服务外的数据实时传输到云服务内的问题。数据接入服务每小时可从数十万种数据源(如IoT数据采集、日志和定位追踪事件、网站点击流、社交媒体源等)中连续捕获、传送和存储数TB数据。DIS的更多信息,请参见《数据接入服务用户指南》。
  • 关键字 表1 关键字说明 参数 是否必选 说明 type 是 数据源类型,“dis”表示数据源为数据接入服务。 region 是 数据所在的DIS区域。 ak 否 访问密钥ID(Access Key ID)。访问密钥获取方式请参见我的凭证。 sk 否 Secret Access Key,与访问密钥ID结合使用的密钥。访问密钥获取方式请参见我的凭证。 channel 是 数据所在的DIS通道名称。 partition_count 否 数据所在的DIS通道分区数。该参数和partition_range参数不能同时配置。当该参数没有配置的时候默认读取所有partition。 partition_range 否 指定作业从DIS通道读取的分区范围。该参数和partition_count参数不能同时配置。当该参数没有配置的时候默认读取所有partition。 partition_range = "[0:2]"时,表示读取的分区范围是1-3,包括分区1、分区2和分区3。 encode 是 数据编码格式,可选为“csv”、“json”、“xml”、“email”、“blob”和“user_defined”。 若编码格式为“csv”,则需配置“field_delimiter”属性。 若编码格式为“json”,则需配置“json_config”属性。 若编码格式为“xml”,则需配置“xml_config”属性。 若编码格式为“email”,则需配置“email_key”属性。 若编码格式为“blob”,表示不对接收的数据进行解析,流属性仅能有一个且数据格式为ARRAY[TINYINT]。 若编码格式为“user_defined”,则需配置“encode_class_name”和“encode_class_parameter”属性。 field_delimiter 否 属性分隔符,仅当编码格式为csv时该参数需要填写,例如配置为“,”。 quote 否 可以指定数据格式中的引用符号,在两个引用符号之间的属性分隔符会被当做普通字符处理。 当引用符号为双引号时,请设置quote = "\u005c\u0022"进行转义。 当引用符号为单引号时,则设置quote = "'"。 说明: 目前仅适用于 CS V格式。 设置引用符号后,必须保证每个字段中包含0个或者偶数个引用符号,否则会解析失败。 json_config 否 当编码格式为json时,用户需要通过该参数来指定json字段和流定义字段的映射关系,格式为“field1=data_json.field1; field2=data_json.field2; field3=$”,其中field3=$表示field3的内容为整个json串。 xml_config 否 当编码格式为xml时,用户需要通过该参数来指定xml字段和流定义字段的映射关系,格式为“field1=data_xml.field1; field2=data_xml.field2”。 email_key 否 当编码格式为email时,用户需要通过该参数来指定需要提取的信息,需要列出信息的key值,需要与流定义字段一一对应,多个key值时以逗号分隔,例如“Message-ID, Date, Subject, body”,其中由于邮件正文没有关键字, DLI 规定其关键字为“body”。 encode_class_name 否 当encode为user_defined时,需配置该参数,指定用户自实现解码类的类名(包含完整包路径),该类需继承类DeserializationSchema。 encode_class_parameter 否 当encode为user_defined时,可以通过配置该参数指定用户自实现解码类的入参,仅支持一个string类型的参数。 offset 否 当启动作业后再获取数据,则该参数无效。 当获取数据后再启动作业,用户可以根据需求设置该参数的数值。 例如当offset= "100"时,则表示DLI从DIS服务中的第100条数据开始处理。 start_time 否 DIS数据读取起始时间。 当该参数配置时则从配置的时间开始读取数据,有效格式为yyyy-MM-dd HH:mm:ss。 当没有配置start_time也没配置offset的时候,读取最新数据。 当没有配置start_time但配置了offset的时候,则从offset开始读取数据。 enable_checkpoint 否 是否启用checkpoint功能,可配置为true(启用)或者false(停用), 默认为false。 checkpoint_app_name 否 DIS服务的消费者标识,当不同作业消费相同通道时,需要区分不同的消费者标识,以免checkpoint混淆。 checkpoint_interval 否 DIS源算子做checkpoint的时间间隔,单位秒,默认为60。
  • 语法格式 create table postgresCdcSource ( attr_name attr_type (',' attr_name attr_type)* (','PRIMARY KEY (attr_name, ...) NOT ENFORCED) ) with ( 'connector' = 'postgres-cdc', 'hostname' = 'PostgresHostname', 'username' = 'PostgresUsername', 'password' = 'PostgresPassword', 'database-name' = 'PostgresDatabaseName', 'schema-name' = 'PostgresSchemaName', 'table-name' = 'PostgresTableName' );
  • 参数说明 表1 参数说明 参数 是否必选 默认值 数据类型 说明 connector 是 无 String connector类型,需配置为'postgres-cdc'。 hostname 是 无 String Postgres数据库的IP地址或者Hostname。 username 是 无 String Postgres数据库用户名。 password 是 无 String Postgres数据库服务的密码。 database-name 是 无 String 数据库名称。 schema-name 是 无 String Postgres Schema名称。 Schema名称支持正则表达式以读取多个Schema的数据,例如test(.)*表示以test开头的所有schema。 table-name 是 无 String Postgres表名。 表名支持正则表达式去读取多个表的数据,例如cdc_order(.)*表示以cdc_order开头的所有表。 port 否 5432 Integer Postgres数据库服务的端口号。 decoding.plugin.name 否 decoderbufs String 根据Postgres服务上安装的插件确定。支持的插件列表如下: decoderbufs(默认值) wal2json wal2json_rds wal2json_streaming wal2json_rds_streaming pgoutput debezium.* 否 无 String 更细粒度控制Debezium客户端的行为。例如'debezium.snapshot.mode' = 'never',详情请参见配置属性。 建议每个表都设置debezium.slot.name参数,以避免出现 “PSQLException: ERROR: replication slot "debezium" is active for PID 974”报错。 pwd_auth_name 否 无 String DLI侧创建的Password类型的跨源认证名称。 使用跨源认证则无需在作业中配置账号和密码。
  • 注意事项 创建Flink OpenSource SQL作业时,在作业编辑界面的“运行参数”处,“Flink版本”需要选择“1.12”,勾选“保存作业日志”并设置保存作业日志的OBS桶,方便后续查看作业日志。 PostgreSQL的版本不能低于PostgreSQL 11。 若Postgres表有update等操作,需要在PostgreSQL中执行下列语句。注意:test.cdc_order需要修改为实际的数据库和表。 ALTER TABLE test.cdc_order REPLICA IDENTITY FULL 使用前请确认当前PostgreSQL是否包含默认的插件,可在PostgreSQL中使用下述语句查询当前插件。 SELECT name FROM pg_available_extensions; 若不包含默认插件名“decoderbufs”,则需要在创建PostgreSQL CDC源表中配置参数“decoding.plugin.name”,该参数指定PostgreSQL中已有的插件。
  • 前提条件 PostgreSQL CDC要求Postgre版本为9.6或者10,11,12。 要与实例建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。 如何建立增强型跨源连接,请参考《 数据湖探索 用户指南》中增强型跨源连接章节。 如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。 Flink跨源开发场景中直接配置跨源认证信息存在密码泄露的风险,优先推荐您使用DLI提供的跨源认证。 跨源认证简介及操作方法请参考跨源认证简介。
  • 注意事项 暂不支持通过python写UDF、UDTF、UDAF自定义函数。 如果使用IntelliJ IDEA工具对创建的自定义函数进行调试,则需要在IDEA上勾选:include dependencies with "Provided" scope,否则本地调试运行时会加载不到pom文件中的依赖包。 具体操作以IntelliJ IDEA版本2020.2为例,参考如下: 在IntelliJ IDEA界面,选择调试的配置文件,单击“Edit Configurations”。 在“Run/Debug Configurations”界面,勾选:include dependencies with "Provided" scope。 单击“OK”完成应用配置。
  • 参数说明 表1 参数说明 参数 是否必选 说明 connector.type 是 connector类型,对于redis,需配置为'redis'。 connector.host 是 redis连接地址。 connector.port 是 redis连接端口。 connector.password 否 redis认证密码。 connector.deploy-mode 否 redis部署模式,支持standalone/cluster,默认standalone。 connector.table-name 否 table存储模式下必配,redis中存储表名。在table存储模式下,数据将以hash类型存储到redis,其中key为:${table-name}:${ext-key},field名为列名。 说明: table存储模式:将connector.table-name、connector.key-column作为redis的key。redis的hash类型,每个key对应一个hashmap,hashmap的hashkey为源表的字段名,hashvalue为源表的字段值。 connector.use-internal-schema 否 table存储模式下可配置,是否使用redis中已存在schema,默认为false。 connector.key-column 否 table存储模式下可配置,将该字段值作为redis中的ext-key,未配置时,ext-key为生成的uuid。
  • 语法格式 1 2 3 4 5 6 7 8 9 10 create table dwsSource ( attr_name attr_type (',' attr_name attr_type)* (',' watermark for rowtime_column_name as watermark-strategy_expression) ) with ( 'connector.type' = 'redis', 'connector.host' = '', 'connector.port' = '' );
  • 示例 从Redis中读取数据。 create table redisSource( car_id STRING, car_owner STRING, car_brand STRING, car_speed INT ) with ( 'connector.type' = 'redis', 'connector.host' = 'xx.xx.xx.xx', 'connector.port' = '6379', 'connector.password' = 'xx', 'connector.table-name' = 'car_info' );
  • 参数说明 表1 参数说明 参数 是否必选 说明 connector.type 是 connector类型,对于redis,需配置为'redis'。 connector.host 是 redis连接地址。 connector.port 是 redis连接端口。 connector.password 否 redis认证密码。 connector.deploy-mode 否 redis部署模式,支持standalone/cluster,默认standalone connector.table-name 否 table存储模式下必配,redis中存储表名。在table存储模式下,数据将以hash类型存储到redis,其中key为:${table-name}:${ext-key},field名为列名。 说明: table存储模式:将connector.table-name、connector.key-column作为redis的key。redis的hash类型,每个key对应一个hashmap,hashmap的hashkey为源表的字段名,hashvalue为源表的字段值。 connector.key-column 否 table存储模式下可配置,将该字段值作为redis中的ext-key,未配置时,ext-key为生成的uuid connector.write-schema 否 table存储模式下可配置,是否将当前schema写入到redis,默认为false connector.data-type 否 数据存储类型,用户自定义存储模式必配。支持:string, list, hash, set类型。其中string/list以及sets中schema字段数必须为2,hash字段数必须为3 connector.ignore-retraction 否 是否忽略retraction消息,默认为false
  • 示例 配置“connector.table-name”参数时的table存储模式示例。 table模式采用hash类型存储数据,与基本hash类型将表的三个字段分别作为key、hash_key、hash_value不同,table模式下的key值可以通过“connector.table-name”和“connector.key-column”两个参数设置,将表中的所有字段名作为hash_key,字段值作为hash_value写入到hash中。 create table redisSink( car_id STRING, car_owner STRING, car_brand STRING, car_speed INT ) with ( 'connector.type' = 'redis', 'connector.host' = 'xx.xx.xx.xx', 'connector.port' = '6379', 'connector.password' = 'xx', 'connector.table-name'='car_info', 'connector.key-column'='car_id' ); insert into redisSink (car_id,car_owner,car_brand,car_speed) VALUES ("A1234","OwnA","A1234",30); 以下示例演示“connector.data-type”为string, list, hash, set类型时的建表语句。 “connector.data-type”为string类型。 表为2列:第一列为key,第二列为value。 create table redisSink( attr1 STRING, attr2 STRING ) with ( 'connector.type' = 'redis', 'connector.host' = 'xx.xx.xx.xx', 'connector.port' = '6379', 'connector.password' = 'xx', 'connector.data-type' = 'string' ); insert into redisSink (attr1,attr2) VALUES ("car_id","A1234"); “connector.data-type”为list类型。 表为2列:第一列为key,第二列为value。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 create table redisSink( attr1 STRING, attr2 STRING ) with ( 'connector.type' = 'redis', 'connector.host' = 'xx.xx.xx.xx', 'connector.port' = '6379', 'connector.password' = 'xx', 'connector.data-type' = 'list' ); insert into redisSink (attr1,attr2) VALUES ("car_id","A1234"); “connector.data-type”为set类型。 表为2列:第一列为key,第二列为value。 create table redisSink( attr1 STRING, attr2 STRING ) with ( 'connector.type' = 'redis', 'connector.host' = 'xx.xx.xx.xx', 'connector.port' = '6379', 'connector.password' = 'xx', 'connector.data-type' = 'set' ); insert into redisSink (attr1,attr2) VALUES ("car_id","A1234"); “connector.data-type”为hash类型。 表为3列:第一列为key,第二列为hash_key,第三列为hash_value。 create table redisSink( attr1 STRING, attr2 STRING, attr3 STRING ) with ( 'connector.type' = 'redis', 'connector.host' = 'xx.xx.xx.xx', 'connector.port' = '6379', 'connector.password' = 'xx', 'connector.data-type' = 'hash' ); insert into redisSink (attr1,attr2,attr3) VALUES ("car_info","car_id","A1234");
  • 语法格式 1 2 3 4 5 6 7 8 9 10 11 12 13 create table dwsSink ( attr_name attr_type (',' attr_name attr_type)* (','PRIMARY KEY (attr_name, ...) NOT ENFORCED) ) with ( 'connector.type' = 'redis', 'connector.host' = '', 'connector.port' = '', 'connector.password' = '', 'connector.table-name' = '', 'connector.key-column' = '' );
  • 语法定义 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 INSERT INTO stream_name query; query: values | { select | selectWithoutFrom | query UNION [ ALL ] query } orderItem: expression [ ASC | DESC ] select: SELECT { * | projectItem [, projectItem ]* } FROM tableExpression [ JOIN tableExpression ] [ WHERE booleanExpression ] [ GROUP BY { groupItem [, groupItem ]* } ] [ HAVING booleanExpression ] selectWithoutFrom: SELECT [ ALL | DISTINCT ] { * | projectItem [, projectItem ]* } projectItem: expression [ [ AS ] columnAlias ] | tableAlias . * tableExpression: tableReference tableReference: tablePrimary [ [ AS ] alias [ '(' columnAlias [, columnAlias ]* ')' ] ] tablePrimary: [ TABLE ] [ [ catalogName . ] schemaName . ] tableName | LATERAL TABLE '(' functionName '(' expression [, expression ]* ')' ')' | UNNEST '(' expression ')' values: VALUES expression [, expression ]* groupItem: expression | '(' ')' | '(' expression [, expression ]* ')' | CUBE '(' expression [, expression ]* ')' | ROLLUP '(' expression [, expression ]* ')' | GROUPING SETS '(' groupItem [, groupItem ]* ')'
  • 语法支持范围 基础类型: VARCHAR,STRING,BOOLEAN,TINYINT,SMALLINT,INTEGER/INT,BIGINT,REAL/FLOAT,DOUBLE,DECIMAL,DATE,TIME,TIMESTAMP Array:使用[]进行引用。例如: 1 insert into temp select CARDINALITY(ARRAY[1,2,3]) FROM OrderA;
  • 常见问题 Q:作业运行失败,运行日志中有如下报错信息,应该怎么解决? java.io.IOException: unable to open JDBC writer ... Caused by: org.postgresql.util.PSQLException: The connection attempt failed. ... Caused by: java.net.SocketTimeoutException: connect timed out A:应考虑是跨源没有绑定,或者跨源没有绑定成功。 参考增强型跨源连接章节,重新配置跨源。参考DLI跨源连接DWS失败进行问题排查。
  • 参数说明 表1 参数说明 参数 是否必选 默认值 数据类型 说明 connector 是 无 String connector类型,需配置为'gaussdb'。 url 是 无 String jdbc连接地址。“url”参数中的ip地址请使用DWS的内网地址。 使用gsjdbc4驱动连接时,格式为:jdbc:postgresql://${ip}:${port}/${dbName} 。 使用gsjdbc200驱动连接时,格式为:jdbc:gaussdb://${ip}:${port}/${dbName}。 table-name 是 无 String 操作的DWS表名。如果该DWS表在某schema下,则具体可以参考如果该DWS表在某schema下的说明。 driver 否 org.postgresql.Driver String jdbc连接驱动,默认为: org.postgresql.Driver。 使用gsjdbc4驱动连接时,加载的数据库驱动类为:org.postgresql.Driver。 使用gsjdbc200驱动连接时,加载的数据库驱动类为:com.huawei.gauss200.jdbc.Driver。 username 否 无 String DWS数据库认证用户名,需要和'password'参数一起配置。 password 否 无 String DWS数据库认证密码,需要和'username'参数一起配置。 scan.partition.column 否 无 String 用于对输入进行分区的列名。 注意:该参数与scan.partition.lower-bound、scan.partition.upper-bound、 scan.partition.num参数必须同时配置或者同时都不配置。 scan.partition.lower-bound 否 无 Integer 第一个分区的最小值。 与scan.partition.column、scan.partition.upper-bound、 scan.partition.num必须同时配置或者同时都不配置。 scan.partition.upper-bound 否 无 Integer 最后一个分区的最大值。 与scan.partition.column、scan.partition.lower-bound、 scan.partition.num必须同时配置或者同时都不配置。 scan.partition.num 否 无 Integer 分区的个数。 与scan.partition.column、scan.partition.upper-bound、 scan.partition.upper-bound必须同时配置或者同时都不配置。 scan.fetch-size 否 0 Integer 每次从数据库拉取数据的行数。默认值为0,表示不限制。 pwd_auth_name 否 无 String DLI侧创建的Password类型的跨源认证名称。 使用跨源认证则无需在作业中配置账号和密码。
  • 前提条件 请务必确保您的账户下已在 数据仓库 服务(DWS)里创建了DWS集群。 如何创建DWS集群,请参考《数据仓库服务管理指南》中“创建集群”章节。 请确保已创建DWS数据库表。 该场景作业需要运行在DLI的独享队列上,因此要与DWS集群建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。 如何建立增强型跨源连接,请参考《 数据湖 探索用户指南》中增强型跨源连接章节。 如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。 Flink跨源开发场景中直接配置跨源认证信息存在密码泄露的风险,优先推荐您使用DLI提供的跨源认证。 跨源认证简介及操作方法请参考跨源认证简介。
  • 功能描述 DLI将Flink作业从数据仓库服务(DWS)中读取数据。DWS数据库内核兼容PostgreSQL,PostgreSQL数据库可存储更加复杂类型的数据,支持空间信息服务、多版本并发控制(MVCC)、高并发,适用场景包括位置应用、金融保险、互联网电商等。 数据仓库服务(Data Warehouse Service,简称DWS)是一种基于基础架构和平台的在线数据处理数据库,为用户提供海量数据挖掘和分析服务。DWS的更多信息,请参见《数据仓库服务管理指南》。
  • 语法格式 1 2 3 4 5 6 7 8 9 10 11 12 13 create table dwsSource ( attr_name attr_type (',' attr_name attr_type)* (','PRIMARY KEY (attr_name, ...) NOT ENFORCED) (',' watermark for rowtime_column_name as watermark-strategy_expression) ) with ( 'connector' = 'gaussdb', 'url' = '', 'table-name' = '', 'username' = '', 'password' = '' );
  • 示例 访问MySQL 1 2 3 4 5 6 7 CREATE TABLE IF NOT EXISTS dli_to_rds USING JDBC OPTIONS ( 'url'='jdbc:mysql://to-rds-117405104-3eAHxnlz.datasource.com:3306', 'driver'='com.mysql.jdbc.Driver', 'dbtable'='rds_test.test1', 'passwdauth' = 'xxx', 'encryption' = 'true'); 访问PostGre 1 2 3 4 5 6 7 CREATE TABLE IF NOT EXISTS dli_to_rds USING JDBC OPTIONS ( 'url'='jdbc:postgresql://to-rds-1174405119-oLRHAGE7.datasource.com:3306/postgreDB', 'driver'='org.postgresql.Driver', 'dbtable'='pg_schema.test1', 'passwdauth' = 'xxx', 'encryption' = 'true');
  • 语法格式 1 2 3 4 5 6 7 CREATE TABLE [IF NOT EXISTS] TABLE_NAME USING JDBC OPTIONS ( 'url'='xx', 'driver'='DRIVER_NAME', 'dbtable'='db_name_in_RDS.table_name_in_RDS', 'passwdauth' = 'xxx', 'encryption' = 'true');
  • 示例 1 2 3 4 5 6 7 8 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');
  • 语法格式 1 2 3 4 5 6 7 8 9 10 11 12 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');
  • 示例 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');
  • Spark SQL语法概览 本章节介绍了目前DLI所提供的Spark SQL语法列表。参数说明,示例等详细信息请参考具体的语法说明。 表1 批作业SQL语法 语法分类 操作链接 数据库相关语法 创建数据库 删除数据库 查看指定数据库 查看所有数据库 创建OBS表相关语法 使用DataSource语法创建OBS表 使用Hive语法创建OBS表 创建DLI表相关语法 使用DataSource语法创建DLI表 使用Hive语法创建DLI表 删除表相关语法 删除表 查看表相关语法 查看所有表 查看建表语句 查看表属性 查看指定表所有列 查看指定表所有分区 查看表统计信息 修改表相关语法 添加列 分区表相关语法 添加分区(只支持OBS表) 重命名分区 删除分区 修改表分区位置(只支持OBS表) 更新表分区信息(只支持OBS表) 导入数据相关语法 导入数据 插入数据相关语法 插入数据 清空数据相关语法 清空数据 导出查询结果相关语法 导出查询结果 跨源连接HBase表相关语法 创建表关联HBase 插入数据至HBase表 查询HBase表 跨源连接OpenTSDB表相关语法 创建表关联OpenTSDB 插入数据至OpenTSDB 查询OpenTSDB表 跨源连接DWS表相关语法 创建表关联DWS 插入数据至DWS表 查询DWS表 跨源连接RDS表相关语法 创建表关联RDS 插入数据至RDS表 查询RDS表 跨源连接CSS表相关语法 创建表关联CSS 插入数据至CSS表 查询CSS表 跨源连接DCS表相关语法 创建表关联DCS 插入数据至DCS表 查询DCS表 跨源连接DDS表相关语法 创建表关联DDS 插入数据至DDS表 查询DDS表 视图相关语法 创建视图 删除视图 查看计划相关语法 查看计划 数据权限相关语法 创建角色 删除角色 绑定角色 解绑角色 显示角色 分配权限 回收权限 显示已授权限 显示所有角色和用户的绑定关系 自定义函数相关语法 创建函数 删除函数 显示函数详情 显示所有函数 数据多版本相关语法 创建OBS表时开启数据多版本 修改表时开启或关闭数据多版本 设置多版本备份数据保留周期 查看多版本备份数据 恢复多版本备份数据 配置多版本过期数据回收站 清理多版本数据
  • 示例 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');
  • 语法格式 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' );
共100000条