检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
前提条件 已参考Python SDK概述配置Java SDK环境。 已参考初始化DLI客户端完成客户端DLIClient的初始化。 上传资源包 您可以使用DLI提供的接口上传资源包,示例代码如下。完整样例代码和依赖包说明请参考:Python SDK概述。 1 2 3 4 5 6 def
手动在OBS表的分区目录下添加了数据,但是无法查询到数据怎么办? 问题现象 手动在OBS表的分区目录下上传了分区数据,但是在SQL编辑器中查询该表新增的分区数据时却查询不到。 解决方案 手动添加分区数据后,需要刷新OBS表的元数据信息。具体操作如下: MSCK REPAIR TABLE
data.write().insertInto("deltaJava1011"); spark.stop(); } 4. 编译打包后参照https://support.huaweicloud.com/devg-dli/dli_09_0205.html创建Spark Jar作业
调试,编译代码并导出Jar包 4 上传Jar包到OBS OBS控制台 将生成的UDF函数Jar包文件上传到OBS目录下。 5 创建DLI的UDF函数 DLI控制台 在DLI控制台的SQL作业管理界面创建使用的UDF函数。 6 验证和使用DLI的UDF函数 DLI控制台 在DLI作业中使用创建的UDF函数。
DLI Flink作业提交运行后(已选择保存作业日志到OBS桶),提交运行失败的情形(例如:jar包冲突),有时日志不会写到OBS桶中 DLI Flink作业提交或运行失败时,对应生成的作业日志保存方式,包含以下三种情况: 提交失败,只会在submit-client下生成提交日志。
请求费用:用户访问OBS中存储的静态网站文件时产生的请求费用。 流量费用:用户使用自定义域名通过公网访问OBS时产生的流量费用。 实际产生的费用与存储的文件大小、用户访问所产生的请求次数和流量大小有关,请根据自己的业务进行预估。 DLI 在创建SQL作业前需购买队列,使用DLI的队列资源时,按照队列CU时进行计费。
调试,编译代码并导出Jar包 4 上传Jar包到OBS OBS控制台 将生成的UDTF函数Jar包文件上传到OBS目录下。 5 创建DLI的UDTF函数 DLI控制台 在DLI控制台的SQL作业管理界面创建使用的UDTF函数。 6 验证和使用DLI的UDTF函数 DLI控制台 在DLI作业中使用创建的UDTF函数。
选择左侧导航栏的“总览”,单击页面右上角的“登录指令”,在弹出的页面中单击复制登录指令。 在安装容器引擎的虚拟机中执行上一步复制的登录指令。 创建容器镜像组织。如果已创建组织则本步骤可以忽略。 登录SWR管理控制台。 选择左侧导航栏的“组织管理”,单击页面右上角的“创建组织”。 填写组织名称,单击“确定”。
在委托设置页面,勾选基础使用、跨源场景、运维场景的委托权限后,单击“更新委托权限”。 查看并了解更新委托的提示信息,单击“确定”。完成DLI委托权限的更新。 图1 配置DLI委托访问授权 完成配置后,在IAM控制台的委托列表中,可查看到dli_management_agency的委托信息。 步骤1:上传数据至OBS
DLI是否支持导入其他租户共享OBS桶的数据? DLI支持将同一个租户下子账户共享OBS桶中的数据导入,但是租户级别共享OBS桶中的数据无法导入。 DLI不支持导入其他租户共享的OBS桶中的数据,主要是为了确保数据的安全性和数据隔离。 对于需要跨租户共享和分析数据的场景,建议先将数据脱敏后上传到OBS桶中
调试,编译代码并导出Jar包 4 上传Jar包到OBS OBS控制台 将生成的UDAF函数Jar包文件上传到OBS目录下。 5 创建DLI程序包 DLI控制台 选择刚上传到OBS的UDAF函数的Jar文件,由DLI进行纳管。 6 创建DLI的UDAF函数 DLI控制台 在DLI控制台的SQL作业管理界面创建使用的UDAF函数。
及之后的版本。 可以选择配置作业名称,便于识别和筛选。 配置”应用程序”,路径指向上一步上传至OBS的Spark jar包。 配置委托。选择提交DLI作业所需的委托。自定义委托请参考创建DLI自定义委托 。 配置”主类(--class)”,为上一步中所写的,包含需要执行的main函数的类的全名。
单击“提交”完成弹性资源池的创建。 在弹性资源池的列表页,选择要操作的弹性资源池,单击操作列的“添加队列”。 配置队列的基础配置,具体参数信息如下。 表4 弹性资源池添加队列基础配置 参数名称 参数说明 配置样例 名称 弹性资源池添加的队列名称。 dli_queue_01 类型 选择创建的队列类型。
选择作业运行时使用的队列资源。 应用程序 选择Jar作业程序包。 Jar包的管理方式: 上传OBS管理程序包:提前将对应的jar包上传至OBS桶中。并在此处选择对应的OBS路径。 上传DLI管理程序包:提前将对应的jar包上传至OBS桶中,并在DLI管理控制台的“数据管理>程序包
如何查看Spark内置依赖包的版本? DLI内置依赖包是平台默认提供的依赖包,用户打包Spark或Flink jar作业jar包时,不需要额外上传这些依赖包,以免与平台内置依赖包冲突。 查看Spark内置依赖包的版本请参考内置依赖包。 资源包管理中的包是否能够下载? 资源包仅提供托管服务,不提供下载功能。
在委托设置页面,勾选基础使用、跨源场景、运维场景的委托权限后,单击“更新委托权限”。 查看并了解更新委托的提示信息,单击“确定”。完成DLI委托权限的更新。 图1 配置DLI委托访问授权 完成配置后,在IAM控制台的委托列表中,可查看到dli_management_agency的委托信息。 步骤1:上传数据至OBS
使用ogg-json读取kafka中的ogg记录,并输出到print中。 根据kafka所在的虚拟私有云和子网创建相应的跨源,并绑定所要使用的队列。然后设置安全组,入向规则,使其对当前将要使用的队列放开,并根据kafka的地址测试队列连通性(通用队列 > 找到作业的所属队列 > 更多 > 测试地址连通性
在委托设置页面,勾选基础使用、跨源场景、运维场景的委托权限后,单击“更新委托权限”。 查看并了解更新委托的提示信息,单击“确定”。完成DLI委托权限的更新。 图1 配置DLI委托访问授权 完成配置后,在IAM控制台的委托列表中,可查看到dli_management_agency的委托信息。 步骤1:开发Jar包并上传数据至OBS
REPLACE,或者替换所有作业中的函数F1为F2。 需要重启Spark SQL队列后新创建的自定义函数F2生效 需要重启Spark SQL队列,影响当前运行的作业。 重启队列后,影响F1原有功能,F1的功能变为和F2一样。 场景二 在原有程序包类的基础上新增了类,新创建的函数指定为新增的类,包名不变。
只能为user-defined,表示使用自定义的sink。 connector.class-name 是 sink函数的全限定类名。sink类的具体实现可以参考前提条件说明。 connector.class-parameter 否 sink函数其构造函数的参数,只支持一个String类型的参数。 注意事项 connector