作业运维报错 本章节主要介绍Spark作业相关问题中有关作业运维报错的问题。 Spark作业访问OBS数据时报ResponseCode: 403和ResponseStatus: Forbidden错误 问题现象 Spark程序访问OBS数据时上报如下错误。 Caused by: com.obs.services.exception.ObsException: Error message:Request Error.OBS servcie Error Message. ResponseCode: 403, ResponseStatus: Forbidden 解决方案 Spark程序访问OBS数据时,需要通过配置AK、SK的访问进行访问。具体访问方式可以参考上方:通用队列操作OBS表如何设置AK/SK。 有访问OBS对应的桶的权限,但是Spark作业访问时报错 verifyBucketExists on XXXX: status [403] 请排查“全局配置 > 作业配置” 对应OBS桶是否被设置为了DLI日志桶。 日志桶不能用于DLI的其他业务功能中。 Spark作业运行大批量数据时上报作业运行超时异常错误 Spark作业程序访问大批量数据,如访问DWS大批量数据库数据时,建议设置并发数,启动多任务的方式运行,避免作业运行超时。 使用Spark作业访问sftp中的文件,作业运行失败,日志显示访问目录异常 Spark作业不支持访问sftp。 建议将文件数据上传到OBS,再通过Spark作业进行读取和分析。 执行作业的用户数据库和表权限不足导致作业运行失败 问题现象 Spark作业运行报数据库权限不足,报错信息如下: org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Permission denied for resource: databases.xxx,action:SPARKAPPACCESSMETA) 解决方案 需要给执行作业的用户赋数据库的操作权限,具体操作参考如下: 1. 在DLI管理控制台左侧,单击“数据管理”>“库表管理”。 2. 单击所选数据库“操作”栏中的“权限管理”,将显示该数据库对应的权限信息。 3. 在数据库权限管理页面右上角单击“授权”。 4. 在“授权”弹出框中,选择“用户授权”或“项目授权”,填写需要授权的用户名或选择需要授权的项目,选择相应的权限。 5. 单击“确定”,完成授权。