检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在Spark作业编辑器中选择对应的Module模块并执行Spark作业。 如果选择spark版本为2.3.2(即将下线)或2.4.5提交作业时,需要指定Module模块,名称为:sys.datasource.opentsdb。 如果选择Spark版本为3.1.1及以上版本时,无需选择Module模块,
对于MOR表,不管是流式写入还是批量写入,需要保证每天至少完成1次Compaction操作。如果长时间不做compaction,Hudi表的log将会越来越大,这必将会出现以下问题: Hudi表读取很慢,且需要很大的资源。 这是由于读MOR表涉及到log合并,大log合并需要消耗大量的资源并且速度很慢。
SQL作业快速开启checkpoint。 支持Flink作业日志转储保留,便于作业分析。 需要一定的技术能力完成代码编译、集群搭建、配置、运维。 用户需要自己编写完整代码并进行编译。 用户需要登录集群使用命令进行提交,且需要维护集群。 用户需要在代码里写入checkpoint才能开启。 作业模板 内置多个常见Flink
初始化DLI客户端 使用DLI Python SDK工具访问DLI,需要用户初始化DLI客户端。用户可以使用AK/SK(Access Key ID/Secret Access Key)或Token两种认证方式初始化客户端,示例代码如下。完整样例代码和依赖包说明请参考:Python
Spark作业的实际资源使用情况 查看Spark作业原始资源配置 登录DLI 控制台,单击左侧“作业管理”>“Spark作业”,在作业列表中找到需要查看的Spark作业,单击“作业ID”前的,即可查看对应Spark作业的原始资源配置参数。 在创建Spark作业时,配置了“高级配置”中的
打印内容 条件1 条件2 标识符:任务 ID> 输出数据 需要提供前缀打印标识符,即创建Print表时在with参数中指定print-identifier。 parallelism > 1 标识符> 输出数据 需要提供前缀打印标识符,即创建Print表时在with参数中指定print-identifier。
能以下划线开头。长度限制:1~128个字符。 队列名称不区分大小写,系统会自动转换为小写。 类型:队列类型选择“通用队列”。“按需计费”时需要勾选“专属资源模式”。 AZ策略、CPU架构、规格:保持默认即可。 企业项目:当前选择为“default”。 高级选项:选择“自定义”。
/ UPDATE / DELETE 消息编码为 Debezium 格式的 JSON 或 Avro 消息,输出到 Kafka 等存储中。 但需要注意的是,目前 Flink 还不支持将 UPDATE_BEFORE 和 UPDATE_AFTER 合并为一条 UPDATE 消息。因此,Flink
操作”列,单击“权限管理”,进入到表权限管理界面。 单击“授权”,授权对象选择“用户授权”,用户名选择需要授权的用户名,勾选对应需要操作的权限。如“查询表”、“插入”等根据需要勾选。 单击“确定”完成权限授权。 授权完成后,再使用已授权的用户登录DLI控制台,查看是否能正常查询到对应表。
打印内容 条件1 条件2 标识符:任务 ID> 输出数据 需要提供前缀打印标识符,即创建Print表时在with参数中指定print-identifier。 parallelism > 1 标识符> 输出数据 需要提供前缀打印标识符,即创建Print表时在with参数中指定print-identifier。
对于Hudi的MOR类型和COW类型的表,都需要开启Archive。 Hudi表在写入数据时会自动判断是否需要执行Archive,因为Archive的开关默认打开(hoodie.archive.automatic默认为true)。 Archive操作并不是每次写数据时都会触发,至少需要满足以下两个条件: Hudi表满足hoodie
API语法说明 设置写入方式 Hudi通过hoodie.datasource.write.operation参数设置写入模式。 insert: 该操作不需要通过索引去查询具体更新的文件分区,因此它的速度比upsert快。当不包含更新数据时建议使用该操作,如果存在更新数据使用该操作会出现重复数据。
路径作为参数传给Executor去执行。 Executor获取文件路径的时候,仍然需要使用SparkFiles.get(“filename”)的方式获取。 SparkFiles.get()方法需要spark初始化以后才能调用。 图1 添加其他依赖文件 代码段如下所示 package
使用Hive语法创建OBS表 defalut方言: with 属性中需要设置hive.is-external为true。 使用hive 方言:建表语句需要使用EXTERNAL关键字。 使用hive语法的DLI Lakehouse表 使用hive 方言:表属性中需要添加'is_lakehouse'='true'。
当API接口返回的中文字符出现乱码时,通常是因为字符编码格式不匹配。 DLI接口返回的结果编码格式为“UTF-8”,在调用接口获取返回结果时需要对返回的信息编码转换为“UTF-8”。 例如,参考如下实现对返回的response.content内容做编码格式转换,确保返回的中文格式不会乱码。
保存到OBS。 勾选“保存作业日志”参数后,需配置“OBS桶”参数,选择OBS桶用于保存用户作业日志信息。如果选择的OBS桶是未授权状态,需要单击“OBS授权”。 日志信息的保存路径为:“桶名/jobs/logs/作业id开头的目录”。其中,“桶名”可以自定义。“/jobs/logs/作业id开头的目录”为固定格式。
Driver日志:查看运行作业的日志。 重新执行作业 在“Spark作业”页面,单击对应作业“操作”列中的“编辑”,跳转至“Spark作业编辑”页面,可根据需要修改参数,执行作业。 查找作业 在“Spark作业”页面,选择“状态”或“队列”。系统将根据设置的过滤条件,在作业列表显示符合对应条件的作业。
DLI内置依赖包 DLI内置依赖包是平台默认提供的依赖包,用户打包Spark或Flink jar作业jar包时,不需要额外上传这些依赖包,以免与平台内置依赖包冲突。 Spark 3.1.1 依赖包 表1 Spark 3.1.1 依赖包 依赖包名称 accessors-smart-1
支持查看“QUERY”类型作业的执行结果。 当前接口已废弃,不推荐使用。 该API只能查看前1000条的结果记录,若要查看全部的结果记录,需要先导出查询结果再进行查看,详细请参见导出查询结果。 URI URI格式: GET/v1.0/{project_id}/queues/{qu
BY里,每个分组只输出一条记录,包括以下几种: 分组函数 在流处理表中的 SQL 查询中,分组窗口函数的 time_attr 参数必须引用一个合法的时间属性,且该属性需要指定行的处理时间或事件时间。 对于批处理的 SQL 查询,分组窗口函数的 time_attr 参数必须是一个 TIMESTAMP 类型的属性。