检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
userDefined源表 功能描述 您可通过编写代码实现从云生态或者开源生态获取数据,再把获取到的数据作为Flink作业的输入数据。 前提条件 自定义source类需要继承类RichParallelSourceFunction,并指定数据类型为Row。 例如自定义类MySource:public
DLI增强型跨源连接DWS失败怎么办? 问题现象 客户创建增强型跨源连接DLI和DWS,安全组已配置出方向规则到关联队列,使用的是密码形式的跨源认证,报DLI.0999: PSQLException: The connection attempt failed。 原因分析 出现该问题可能原因如下:
dli_elastic_resource_pool:弹性资源池 dli_enhanced_datasource:增强型跨源连接 dli_database:数据库 dli_package_resource:资源包(不支持指定有Module ID的内置资源包) dli_flink_job:Flink作业
Over聚合 OVER 聚合通过排序后的范围数据为每行输入计算出聚合值。和 GROUP BY 聚合不同, OVER 聚合不会把结果通过分组减少到一行,它会为每行输入增加一个聚合值。 更多介绍和使用请参考开源社区文档:Over聚合。 语法格式 1 2 3 4 5 6 7 SELECT
ltrim ltrim函数用于从str的左端去除字符: 如果未指定trimChars,则默认去除空格字符。 如果指定了trimChars,则以trimChars中包含的字符作为一个集合,从str的左端去除尽可能长的所有字符都在集合trimChars中的子串。 相似函数: rtri
rtrim rtrim函数用于从str的右端去除字符: 如果未指定trimChars,则默认去除空格字符。 如果指定了trimChars,则以trimChars中包含的字符作为一个集合,从str的右端去除尽可能长的所有字符都在集合trimChars中的子串。 相似函数: ltri
Flink作业模板相关 前提条件 已参考Java SDK概述配置Java SDK环境。 已参考初始化DLI客户端完成客户端DLIClient的初始化。 新建作业模板 DLI提供新建Flink作业模板的接口。您可以使用该接口新建一个Flink作业模板。示例代码如下: 1 2 3 4
十进制函数和操作符 DECIMAL 字面量 可以使用 DECIMAL 'xxxxxxx.yyyyyyy' 语法来定义 DECIMAL 类型的字面量。 DECIMAL 类型的字面量精度将等于字面量(包括尾随零和前导零)的位数。范围将等于小数部分(包括尾随零)的位数。 示例字面量 数据类型
trans_array trans_array函数用于将一行数据转为多行的UDTF,将列中存储的以固定分隔符格式分隔的数组转为多行。 使用限制 所有作为key的列必须位于在前面,而要转置的列必须放在后面。 在一个select中只能有一个UDTF,不可以再出现其他的列。 不可以与group
类型转换函数 表1 类型转换函数 SQL函数 描述 CAST(value AS type) 返回被强制转换为类型 type 的新值。 例如 CAST('42' AS INT) 返回 42; CAST(NULL AS VARCHAR) 返回 VARCHAR 类型的 NULL。 TYPEOF(input)
二进制函数和运算符 二进制运算符 || 运算符执行连接。 二进制函数 length(binary) → bigint 返回binary的字节长度。 select length(x'00141f');-- 3 concat(binary1, ..., binaryN) → varbinary
get_json_object get_json_object函数用于根据所给路径对json对象进行解析,当json对象非法时将返回NULL。 命令格式 get_json_object(string <json>, string <path>) 参数说明 表1 参数说明 参数 是否必选
CURRENT_TRANSFORM_GROUP_FOR_TYPE, CURRENT_USER, CURSOR, CURSOR_NAME, CYCLE, DATA, DATABASE, DATE, DATETIME_INTERVAL_CODE, DATETIME_INTERVAL_PRECISION, DAY, DEALLOCATE
正则表达式函数 概述 所有的正则表达式函数都使用Java样式的语法。但以下情况除外: 使用多行模式(通过(?m)标志启用)时,只有\ n被识别为行终止符。 此外,不支持(?d)标志,因此不能使用。 大小写区分模式(通过(?i)标志启用)时,总是以unicode的模式去实现。同时,
添加分区(只支持OBS表) 功能描述 创建OBS分区表成功后,OBS表实际还没有生成分区信息。生成分区信息主要有以下两种场景: 给OBS分区表插入对应的分区数据,数据插入成功后OBS表才会生成分区元数据信息,后续则可以根据对应分区列进行查询等操作。 手工拷贝分区目录和数据到OBS
复杂数据类型 Spark SQL支持复杂数据类型,如表1所示。 表1 复杂数据类型 数据类型 描述 使用格式 ARRAY 一组有序字段,使用指定的值构造ARRAY数组。可以为任意类型,要求所有字段的数据类型必须相同。 array(<value>,<value>[, ...]) 具体使用示例详见:ARRAY示例。
lag lag函数用于用于统计窗口内往上第n行值。 使用限制 窗口函数的使用限制如下: 窗口函数只能出现在select语句中。 窗口函数中不能嵌套使用窗口函数和聚合函数。 窗口函数不能和同级别的聚合函数一起使用。 命令格式 lag(<expr>[, bigint <offset>[
数学函数和运算符 数学运算符 运算符 描述 + 加 - 减 * 乘 / 除 % 取余 数学函数 abs(x) → [same as input] 返回x的绝对值 SELECT abs(-17.4);-- 17.4 bin(bigint x) -> string 返回x的二进制格式
窗口函数 窗口函数跨查询结果的行执行计算。它们在HAVING子句之后但在ORDER BY子句之前运行。调用窗口函数需要使用OVER子句来指定窗口的特殊语法。窗口具有三个组成部分: 分区规范,它将输入行分为不同的分区。这类似于GROUP BY子句如何将行分为聚合函数的不同组。 排序