检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Spark作业访问OBS数据时报ResponseCode: 403和ResponseStatus: Forbidden错误 问题现象 Spark程序访问OBS数据时上报如下错误。
另外,由于DLI服务端已经内置了Flink的依赖包,并且基于开源社区版本做了安全加固。
从DLI导入数据到OBS,数据量不一致怎么办? 问题现象 使用DLI插入数据到OBS临时表文件,数据量有差异。 根因分析 出现该问题可能原因如下: 作业执行过程中,读取数据量错误。 验证数据量的方式不正确。
图1 avro类型的OBS创建失败 根因分析 当前Spark2.3.x不支持创建avro类型的OBS表,Spark2.4.x及以上的版本支持avro类型的OBS表。
手动在OBS表的分区目录下添加了数据,但是无法查询到数据怎么办? 问题现象 手动在OBS表的分区目录下上传了分区数据,但是在SQL编辑器中查询该表新增的分区数据时却查询不到。 解决方案 手动添加分区数据后,需要刷新OBS表的元数据信息。
有访问OBS对应的桶的权限,但是Spark作业访问时报错 verifyBucketExists on XXXX: status [403] 该报错信息可能是由于OBS桶被设置为了DLI日志桶,而日志桶不能用于DLI的其他业务功能。
In the sample code, the setStorageType interface of the ImportJob object is called to set the data storage type to csv.
LOAD数据到OBS外表报错:IllegalArgumentException: Buffer size too small. size 问题描述 在Spark SQL作业中,使用LOAD DATA命令导入数据到DLI表中时报如下错误: error.DLI.0001: IllegalArgumentException
To query DLI jobs, use the Querying All Jobs API.
Spark如何将数据写入到DLI表中 使用Spark将数据写入到DLI表中,主要设置如下参数: fs.obs.access.key fs.obs.secret.key fs.obs.impl fs.obs.endpoint 示例如下: import logging from operator
上传数据到OBS桶:通过OBS管理控制台或者使用命令行工具将存储在sftp中的文件数据上传到OBS桶中。 Spark读取OBS文件数据,详见使用Spark Jar作业读取和查询OBS数据。 配置Spark作业:配置Spark作业访问OBS中存储的数据。
如果选择的OBS桶是未授权状态,需要单击“OBS授权”。 日志信息的保存路径为:“桶名/jobs/logs/作业id开头的目录”。其中,“桶名”可以自定义。“/jobs/logs/作业id开头的目录”为固定格式。
500 内部服务器错误。 错误码 调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参见错误码。 父主题: SQL作业相关API(废弃)
an OBS table.
to create an OBS table.
Parent topic: SDKs Related to SQL Jobs
解决措施 请检查OBS桶权限,确保账号有权限访问报错信息中提到的OBS桶。 如果没有,需要联系OBS桶的管理员添加桶的访问权限。 父主题: SQL作业运维类
System.out.println("dbName:" + db.getDatabaseName() + " " + "tableCount:" + db.getTableCount()); } } Parent topic: SDKs Related to SQL Jobs
)]; 关键字 表1 关键字说明 参数 描述 tablename 需要执行Truncate命令的DLI表或者OBS表的名称。 partcol1 需要删除的DLI表或者OBS表的分区名称。 注意事项 只支持清除DLI表或者OBS表的数据。
可以使用OBS跨区域复制功能实现,步骤如下: 将区域一中的DLI表数据导出到自定义的OBS桶中。 具体请参考《数据湖探索用户指南》。 通过OBS跨区域复制功能将数据复制至区域二的OBS桶中。 根据需要导入或使用对应的数据。 父主题: SQL作业开发类