我们有两个不同的 Azure 云资源组 RG1 和 RG2,其中 RG1 托管数据源的 ADB_source,RG2 托管数据接收器的 ADB_sink 和 ADLS_sink(gen2)。
用例: 我们在 ADB_source 中有一些增量表(启用 ACL),其中用户列表具有读取访问权限。 在 ADB_source 工作区中,我们需要读取增量表并将它们作为 parquet 写入 ADLS_sink 中,以便在接收器中进一步处理。
可用: 我们在 ADB_Source 工作区中创建了一个高并发集群,它 -
观察到的错误: 只要增量表位于 ADB_source 工作区中,我们就可以按预期读取增量表并运行操作命令。但是,当我们使用
.save()
将该数据写入 ADLS_sink 时,我们会收到以下错误。
Py4JJavaError: An error occurred while calling o410.save. : java.lang.SecurityException: User does not have permission SELECT on any file. User does not have permission MODIFY on any file.
如果有人可以解释这一点并建议成功实施用例所需的额外安全检查/访问,我将不胜感激。
发生这种情况是因为启用了 ACL,请参阅以下文档: https://learn.microsoft.com/en-us/azure/databricks/kb/security/table-create-security-exception