[来自databrick社区:link]
我一直在用GCS定位POC探索delta活表。
我有一些疑问:
如何访问GCS桶。我们必须使用databricks服务帐户建立连接。在正常的集群创建中,我们进入集群页面并在Advanced Options
下提供databricks服务帐户电子邮件。对于delta活动表,由于集群的创建不受我们的控制,如何将此邮件添加到集群以使gcs桶路径可访问。
我还尝试通过在google服务帐户块下添加服务帐户sa,从UI编辑delta活动表集群。使用
保存集群失败**Error : Dlt prefixed spark images cannot be used outside of Delta live tables service**
当我提供gs桶路径作为存储时遇到的错误日志delta活动表的位置:
DataPlaneException: Failed to start the DLT service on cluster <cluster_id>. Please check the stack trace below or driver logs for more details.
com.databricks.pipelines.execution.service.EventLogInitializationException: Failed to initialize event log
java.io.IOException: Error accessing gs://<path>
shaded.databricks.com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
GET https://storage.googleapis.com/storage/v1/b/<path>?fields=bucket,name,timeCreated,updated,generation,metageneration,size,contentType,contentEncoding,md5Hash,crc32c,metadata
{
"code" : 403,
"errors" : [ {
"domain" : "global",
"message" : "Caller does not have storage.objects.get access to the Google Cloud Storage object. Permission 'storage.objects.get' denied on resource (or it may not exist).",
"reason" : "forbidden"
} ],
"message" : "Caller does not have storage.objects.get access to the Google Cloud Storage object. Permission 'storage.objects.get' denied on resource (or it may not exist)."
}
我们正在努力为UI添加更多配置存储权限的选项。同时,您可以通过编辑管道的JSON设置来控制DLT中使用的集群的所有属性:https://docs.databricks.com/workflows/delta-live-tables/delta-live-tables-configuration.html#cluster-configuration
首先将DBFS位置挂载到GCS云存储,请参阅文档
Mount Storage Account
以及了解如何使用DLT轻松构建和部署SQL和Python管道,并直接在Google Cloud上的lakehouse上运行ETL工作负载。请参阅文档
砖医生