常见问题

本文汇总了使用EMR Serverless Spark时的常见问题。

DLF适配问题

读取数据时报错“java.net.UnknownHostException”,该如何处理?

  • 问题描述

    数据开发中执行SQL查询从DLF 1.0的数据表中读取信息时,遇到了 UnknownHostException异常。

    image

  • 报错原因

    通常是因为系统找不到指定的主机,导致无法成功查询数据表。

    重要

    需要特别强调的是,Serverless Spark默认不支持读取HDFS路径下的表数据。

  • 解决方案

    因为Serverless Spark默认不支持读取HDFS路径下的表数据,建议将数据迁移到阿里云OSS。

OSS适配问题

如何账号访问阿里云OSS?

在使用EMR Serverless Spark执行Spark任务时,如果您需要访问不同阿里云账户下的OSS资源,您需要在目标OSSBucket Policy中配置相应的访问权限,以允许Serverless Spark工作空间的执行角色进行OSS的读写操作。以下是具体操作步骤:

  1. 进入阿里云OSSBucket 授权策略页面。

    1. 登录OSS管理控制台

    2. 单击Bucket 列表,然后单击目标Bucket名称。

    3. 在左侧导航栏,选择权限控制 > Bucket 授权策略

  2. Bucket 授权策略页面的按图形策略添加页签,单击新增授权

  3. 新增授权面板,配置以下参数,然后单击确定

    参数

    说明

    授权资源

    选择整个Bucket

    授权用户

    选择其他账号。Principal填写为arn:sts::<uid>:assumed-role/<role-name>/*。其中:

    • <uid>需要替换为阿里云账号ID(主账号ID)。

    • <role-name>需要替换为Serverless Spark工作空间的执行角色名称(请注意区分大小写)。您可以在EMR Serverless Spark的工作空间列表页面,单击目标工作空间操作列的详情,以查看执行角色,默认使用的角色是AliyunEMRSparkJobRunDefaultRole

    其余参数可以根据实际情况进行配置,更多参数介绍请参见图形化配置Bucket Policy