如何在现有数据库之上创建具有只读访问权限的数据块数据库

抗菌肽

我将使用此图像来形象化我的问题: 在此处输入图片说明

Databricks1在Databricks中创建一个数据库(和表),并将其数据存储在存储帐户中。在Databricks2中,我想读取数据:Databricks2仅具有读取权限。我可以直接读取原始增量文件,但是我想创建一个数据库和表,这些数据也可以在Databricks UI中显示。我认为它可以通过以下方式工作:

CREATE DATABASE IF NOT EXISTS datastore_panels
LOCATION '/mnt/readOnlyTraining/tmp/panels/'; 

但这会产生一个权限错误,尽管tmp / panels数据库已经存在。

有没有一种方法可以从具有只读访问权限的delta之上的现有资源创建数据库/表?

抗菌肽

我找到了解决方案。我在此上浪费了很多时间,却从未遇到过同样的问题。

解决方案实际上很简单,但是您需要知道。我有一个服务主体,可以对我的存储帐户进行读取访问。

像这样创建数据库(不要提及位置):

CREATE DATABASE IF NOT EXISTS datastore_panels

创建表(使用位置,但不设置表属性或分区:它将从增量表元数据中读取该表):

CREATE TABLE IF NOT EXISTS datastore_panels.customer_data
USING delta
LOCATION '/mnt/readOnlyTraining/delta/customer-data/'

对于那些想更好地理解这个问题的人,这是我之前尝试过的

   %sql
CREATE TABLE IF NOT EXISTS datastore_panels.production_bazeilles_press_shopfloor (
      reg_id INT,
      year INT,
      timestamp_utc TIMESTAMP,
      unit STRING,
      value DECIMAL (18,8),
      descr_total STRING,
      descr01 STRING,
      descr02 STRING,
      descr03 STRING,
      descr04 STRING,
      descr05 STRING,
      descr06 STRING,
      descr07 STRING,
      descr08 STRING,
      descr09 STRING,
      descr10 STRING
)
USING delta
PARTITIONED BY (year)
LOCATION '/mnt/blob/panels/production/bazeilles/press/shopfloor'
TBLPROPERTIES ('delta.deletedFileRetentionDuration' = "interval 60 days",
              'delta.autoOptimize.optimizeWrite' = 'true'
)

这是行不通的,因为spark最终只能读取,但是由于指定了列,因此tblproperties和partitionedby spark需要登录到具有只读访问权限的存储帐户,而有人试图更改这些属性。此日志记录步骤是不可能的,因此它会返回“没有权限”错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

授予用户创建新数据库的权限,但拒绝现有数据库的权限

来自分类Dev

如何从现有数据库创建SSDT项目?

来自分类Dev

如何从现有数据库创建迁移?

来自分类Dev

如何使用c#中的现有数据库创建新数据库?

来自分类Dev

如何对具有数据库访问权限的方法进行单元测试?

来自分类Dev

如何在现有数据库中创建ASP.Net Identity表?

来自分类Dev

我正在使用Slugalicious宝石。如何为数据库中的现有数据创建块?

来自分类Dev

在现有数据库上创建表

来自分类Dev

从现有数据库创建类

来自分类Dev

如何从现有数据库结构生成模型

来自分类Dev

如何从现有数据库更新 Symfony 实体?

来自分类Dev

如何在iOS中的sqlite数据库中检查现有数据

来自分类Dev

如何从SQL Server 2008中的现有数据库创建XML架构

来自分类Dev

如何从Laravel中的现有数据库创建迁移

来自分类Dev

如何在没有数据的情况下创建MySQL数据库基准

来自分类Dev

如何在Android Project中插入现有数据库

来自分类Dev

如何在Azure上导入现有数据库?

来自分类Dev

如何在Forecast.io中使用现有数据库

来自分类Dev

如何在现有数据库中集成ASP.NET身份表

来自分类Dev

如何在资产文件夹上的现有数据库中添加新列?

来自分类Dev

无法在plesk 12.5中创建具有完全访问权限的新数据库用户

来自分类Dev

向用户授予访问权限以创建具有给定名称的数据库

来自分类Dev

如何在创建新数据库之前检查现有的h2数据库

来自分类Dev

GreenDao使用现有数据库而不是创建一个数据库

来自分类Dev

使用现有数据库,而无需通过播放框架中的模型创建数据库

来自分类Dev

在Android上创建新数据库之前检查现有数据库的最佳方法是什么

来自分类Dev

实体框架-添加现有数据库

来自分类Dev

从现有数据库生成实体

来自分类Dev

在APK中包含现有数据库

Related 相关文章

  1. 1

    授予用户创建新数据库的权限,但拒绝现有数据库的权限

  2. 2

    如何从现有数据库创建SSDT项目?

  3. 3

    如何从现有数据库创建迁移?

  4. 4

    如何使用c#中的现有数据库创建新数据库?

  5. 5

    如何对具有数据库访问权限的方法进行单元测试?

  6. 6

    如何在现有数据库中创建ASP.Net Identity表?

  7. 7

    我正在使用Slugalicious宝石。如何为数据库中的现有数据创建块?

  8. 8

    在现有数据库上创建表

  9. 9

    从现有数据库创建类

  10. 10

    如何从现有数据库结构生成模型

  11. 11

    如何从现有数据库更新 Symfony 实体?

  12. 12

    如何在iOS中的sqlite数据库中检查现有数据

  13. 13

    如何从SQL Server 2008中的现有数据库创建XML架构

  14. 14

    如何从Laravel中的现有数据库创建迁移

  15. 15

    如何在没有数据的情况下创建MySQL数据库基准

  16. 16

    如何在Android Project中插入现有数据库

  17. 17

    如何在Azure上导入现有数据库?

  18. 18

    如何在Forecast.io中使用现有数据库

  19. 19

    如何在现有数据库中集成ASP.NET身份表

  20. 20

    如何在资产文件夹上的现有数据库中添加新列?

  21. 21

    无法在plesk 12.5中创建具有完全访问权限的新数据库用户

  22. 22

    向用户授予访问权限以创建具有给定名称的数据库

  23. 23

    如何在创建新数据库之前检查现有的h2数据库

  24. 24

    GreenDao使用现有数据库而不是创建一个数据库

  25. 25

    使用现有数据库,而无需通过播放框架中的模型创建数据库

  26. 26

    在Android上创建新数据库之前检查现有数据库的最佳方法是什么

  27. 27

    实体框架-添加现有数据库

  28. 28

    从现有数据库生成实体

  29. 29

    在APK中包含现有数据库

热门标签

归档