检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
表相关 创建DLI表 DLI提供创建DLI表的接口。您可以使用该接口创建数据存储在DLI内部的表。示例代码如下: 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
运行Spark作业报java.lang.AbstractMethodError Spark 2.3对内部接口Logging做了行为变更,如果用户代码里直接继承了该Logging,且编译时使用的是低版本的Spark,那么应用程序在Spark 2.3的环境中运行将会报java.lang.AbstractMethodError。
资源相关 前提条件 已参考Python SDK概述配置Java SDK环境。 已参考初始化DLI客户端完成客户端DLIClient的初始化。 上传资源包 您可以使用DLI提供的接口上传资源包,示例代码如下。完整样例代码和依赖包说明请参考:Python SDK概述。 1 2 3 4
配置文件上传到OBS和加载到DLI服务端资源列表。当相关资源文件已经加载到DLI服务资源列表中,可以使用该参数跳过该步骤。 不携带该参数时,默认会上传和加载命令中的所有资源文件到DLI服务中。 all:跳过所有资源文件的上传和加载 app:跳过Spark应用程序文件的上传和加载 deps:跳过所有依赖文件的上传和加载
DLI支持用户通过批处理方式将程序包提交至通用队列中运行。 如果用户需要更新程序包,可以使用相同的程序包或文件上传至DLI的同一个位置(同一个分组),直接覆盖原有的程序包或文件。 前提条件 所使用的程序包需提前上传至OBS服务中保存。 创建程序包步骤 在管理控制台左侧,单击“数据管理”>“程序包管理”。
手动在OBS表的分区目录下添加了数据,但是无法查询到数据怎么办? 问题现象 手动在OBS表的分区目录下上传了分区数据,但是在SQL编辑器中查询该表新增的分区数据时却查询不到。 解决方案 手动添加分区数据后,需要刷新OBS表的元数据信息。具体操作如下: MSCK REPAIR TABLE
新队列第一次运行作业时,需要一定的时间,通常为6~10分钟。 涉及接口 创建弹性资源池:创建弹性资源池。 创建队列:在弹性资源池中添加队列。 上传分组资源:上传Spark作业所需的资源包。 查询组内资源包:确认上传的资源包是否正确。 创建批处理作业:创建并提交Spark批处理作业。 查询批处理作业状态:查看批处理作业状态。
常为6~10分钟。 涉及接口 创建弹性资源池:创建弹性资源池。 创建队列:在弹性资源池中添加队列。 上传分组资源:上传Flink自定义作业所需的资源包。 查询组内资源包:确认上传的资源包是否正确。 创建Flink自定义作业:创建Flink自定义作业。 批量运行作业:运行Flink自定义作业。
解决方案 登录IAM控制台页面,单击“用户”,在搜索框中选择“用户名”,输入运行作业的IAM用户名。 单击查询到用户名,查看该用户对应的用户组。 单击“用户组”,输入查询到的用户组查询,单击用户组名称,在“授权记录”中查看当前用户的权限。 确认当前用户所属用户组下的权限是否包含OBS写入的权限,比如“OBS
输入“Kafka内网地址:Kafka数据库端口”,单击“测试”测试DLI到Kafka网络是否可达。 创建DLI连接RDS的增强型跨源连接 在RDS管理控制台,选择“实例管理”,单击对应的RDS实例名称,进入到RDS的基本信息页面。 在“基本信息”的“连接信息”中获取该实例的“内网
function_name AS identifier [LANGUAGE JAVA|SCALA] 功能描述 创建一个用户自定义函数 语法说明 IF NOT EXISTS 若该函数已经存在,则不会进行任何操作。 LANGUAGE JAVA|SCALA Language tag 用于指定 Flink
登录OBS控制台,将生成的Jar包文件上传到OBS路径下。 登录DLI控制台,选择“作业管理 > Spark作业”。 单击操作列“编辑”。 编辑“应用程序”,选择1上传的OBS地址。 图11 配置应用程序 Spark 3.3以下版本: 分别上传Jar包到OBS和DLI下。 登录OBS控
参考操作步骤说明,编写UDTF函数代码。 2 编写UDTF函数代码 3 调试,编译代码并导出Jar包 4 上传Jar包到OBS OBS控制台 将生成的UDTF函数Jar包文件上传到OBS目录下。 5 创建DLI的UDTF函数 DLI控制台 在DLI控制台的SQL作业管理界面创建使用的UDTF函数。
创建作业运行的DLI队列。 2 上传数据到OBS桶 OBS控制台 将测试数据上传到OBS桶下。 3 新建Maven工程,配置pom文件 IntelliJ IDEA 参考样例代码说明,编写程序代码读取OBS数据。 4 编写程序代码 5 调试,编译代码并导出Jar包 6 上传Jar包到OBS和DLI OBS控制台
identifier [LANGUAGE JAVA|SCALA] 功能描述 创建一个用户自定义函数。 如果您需要了解创建自定义函数的步骤请参考自定义函数。 语法说明 IF NOT EXISTS 若该函数已经存在,则不会进行任何操作。 LANGUAGE JAVA|SCALA Language tag
DBC类型,在使用JDBC连接服务器时,请使用映射后的JAVA类型,映射关系如表1所示。 表1 数据类型映射 DLI类型 JDBC类型 JAVA类型 INT INTEGER java.lang.Integer STRING VARCHAR java.lang.String FLOAT
SDK提供的接口函数进行二次开发。 Java、Python SDK功能矩阵请参见表1 表1 SDK功能矩阵 语言 功能 内容 Java OBS授权 介绍将OBS桶的操作权限授权给DLI的Java SDK使用说明。 队列相关 介绍创建队列、获取默认队列、查询所有队列、删除队列的Java SDK使用说明。
IDEA 参考操作步骤说明,编写UDF函数代码。 2 编写UDF函数代码 3 调试,编译代码并导出Jar包 4 上传Jar包到OBS OBS控制台 将生成的UDF函数Jar包文件上传到OBS目录下。 5 创建DLI的UDF函数 DLI控制台 在DLI控制台的SQL作业管理界面创建使用的UDF函数。
LOAD数据到OBS外表报错:IllegalArgumentException: Buffer size too small. size 问题描述 在Spark SQL作业中,使用LOAD DATA命令导入数据到DLI表中时报如下错误: error.DLI.0001: Illeg
从DLI导入数据到OBS,数据量不一致怎么办? 问题现象 使用DLI插入数据到OBS临时表文件,数据量有差异。 根因分析 出现该问题可能原因如下: 作业执行过程中,读取数据量错误。 验证数据量的方式不正确。 通常在执行插入数据操作后,如需确认插入数据量是否正确,建议通过查询语句进行查询。