检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
队列扩容成功后,系统开始对扩容的CU进行计费,直到缩容成功停止对扩容的CU计费。因此,要注意如果业务没有需求的情况下,要及时清理释放资源,否则不管CU是否真正的使用,都会一直计费。
表1 DLI常用开发指南与最佳实践 场景 操作指导 描述 Spark SQL作业开发 使用Spark SQL作业分析OBS数据 介绍使用Spark SQL作业创建OBS表、导入OBS表数据、插入和查询OBS表数据等操作。
注意事项 创建Flink OpenSource SQL作业时,在作业编辑界面的“运行参数”处,“Flink版本”需要选择“1.12”,勾选“保存作业日志”并设置保存作业日志的OBS桶,方便后续查看作业日志。
确认当前用户所属用户组下的权限是否包含OBS写入的权限,比如“OBS OperateAccess”。如果没有OBS写入权限,则给对应的用户组进行授权。 授权完成后,等待5到10分钟等待权限生效。再次运行失败的Flink SQL作业,查看作业运行状态。
getdate getdate() STRING 获取当前系统时间。 hour hour(string date) INT 返回指定时间的小时,范围为0到23。 isdate isdate(string date , string format) BOOLEAN date:必填。
数据库中schema是数据库对象集合,包含了表,视图等多种对象。 user (已废弃)RDS用户名。 password (已废弃)RDS用户名密码。 passwdauth 跨源密码认证名称。跨源认证信息创建方式请参考《数据湖探索用户指南》>《跨源认证》。
表1 批作业SQL语法 语法分类 操作链接 数据库相关语法 创建数据库 删除数据库 查看指定数据库 查看所有数据库 创建OBS表相关语法 使用DataSource语法创建OBS表 使用Hive语法创建OBS表 创建DLI表相关语法 使用DataSource语法创建DLI表 使用Hive
{obs域名}/{jarPath}/{jarName}。 例如:"https://bucketname.obs.cn-north-1.myhuaweicloud.com/jarname.jar" group_name:资源包所属分组名称。
krb5_conf 否 String krb5配置文件obs路径。 keytab 否 String keytab配置文件obs路径。 truststore_location 否 String truststore配置文件obs路径。
message 否 String 系统提示信息,执行成功时,信息可能为空。 请求示例 创建一个data_location为OBS表,数据格式为CSV。
图1 归档日志 在OBS目录下,获取归档日志文件夹,详细如下。 Spark SQL作业: 查看带有“driver”或者为“container_xxx_000001”的日志文件夹则为需要查看的Driver日志目录。
OBS桶:选择保存作业日志的OBS桶,根据提示进行OBS桶权限授权。 开启Checkpoint:勾选。 Flink作业编辑框中输入具体的作业SQL,本示例作业参考如下。具体加粗的参数需要根据实际情况修改。
支持 支持 修改表的分区名 ALTER TABLE testDB.testTable2 PARTITION ( dt='20240101') RENAME TO PARTITION ( dt='20240103'); 只支持OBS表的分区名,且OBS上的文件存储路径不会变。
Hive 方言支持的 DDL 语句,Flink 1.15 当前仅支持使用Hive语法创建OBS表和使用hive语法的DLI Lakehouse表。 使用Hive语法创建OBS表 defalut方言: with 属性中需要设置hive.is-external为true。
resource Oracle驱动包的OBS路径。 例如:obs://rest-authinfo/tools/oracle/driver/ojdbc6.jar resource中定义的driver jar包如果被更新,需要重启队列,才会生效。
注意事项 导入OBS表时,创建OBS表时指定的路径必须是文件夹,若建表路径是文件将导致导入数据失败。 仅支持导入位于OBS路径上的原始数据。 不建议对同一张表并发导入数据,因为有一定概率发生并发冲突,导致导入失败。 导入数据时只能指定一个路径,路径中不能包含逗号。
CREATE TABLE orders ( orderkey bigint, orderstatus varchar, totalprice double, orderdate date ) WITH (format = 'ORC', location='obs
对于JSON格式OBS表,MAP的键类型只支持STRING类型。
处理时间属性 可以简单地通过使用了系统函数 PROCTIME() 的 proc AS PROCTIME() 语句进行定义。 另一方面,由于事件时间列可能需要从现有的字段中获得,因此计算列可用于获得事件时间列。
具体如下: “dli-spark-demo-obs”读取和写入OBS数据。 “dli-spark-demo-redis”读取和写入Redis数据。 dli-pyspark-demo:使用Python语言开发Spark作业。例如,样例包中的样例代码实现创建Redis表的功能。