【Azure 架构师学习笔记】- Azure Databricks (7) --Unity Catalog(UC) 基本概念和组件

本文主要是介绍【Azure 架构师学习笔记】- Azure Databricks (7) --Unity Catalog(UC) 基本概念和组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文属于【Azure 架构师学习笔记】系列。
本文属于【Azure Databricks】系列。
接上文 【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog

前言

在以前的Databricks中,主要由Workspace和集群、SQL Warehouse组成, 这两年Databricks公司推出了Unity Catalog(UC)之后,整个Databricks架构都有了不一样的改变。它在Workspace之上添加了一层UC, 包含了用户管理(User Management)和元存储(Metastore)。

在这里插入图片描述

概念

UC 的出现是为了应对数据的日益广泛使用,提供治理功能,由于企业数据源的多渠道,多样性导致数据的管理越来越困难。因此Databricks提供UC,作为集中式的精细化访问控制解决方案。
通过UC可以管理所有workspace中的数据和元数据访问,同时通过Delta Sharing 这种内置到UC 的开放协议来进行安全的数据共享。

Catalog

UC 的C就是Catalog的意思,它作为UC 启用后的最顶层,把传统的访问方式变成了3层结构:Catalog.schema.table。

在这里插入图片描述
每个UC 的metastore会映射到一个ADLS container上。这个container用于存储这个UC 的元存储的元数据和托管表。 而外部数据(业务数据)则存储在另外一个ADLS (上图中最下面的两个圆柱形)。

默认情况下,每个region只能创建一个UC 元存储。每个workspace只能附加到一个UC metastore,一个UC 则可以用于多个workspace,也就是UC 和workspace是一对多的关系。

当附加成功后,可以在workspace的“Catalog”下面看到类似的的样子:

在这里插入图片描述
上面的catalog有几个是默认创建的:hive_metastore, main, samples, system。 不建议对他们进行过多的操作。

管理角色

当配置了UC之后,机会出现两个新的管理角色:Account Admins和Metastore Admins。
Account Admin:管理account 范围的资源比如UC metastore, 附加metastore给workspace等。 第一个Account Admin是由AAD Global Admin登录Account Console时,自动变成Account Admin。 后续得account admin账号则不需要AD Global Admin role。
Metastore Admin : 管理metastore对象的ACL, 授权访问如Catalog, schema, tables, views等实体。
Workspace Admin: 管理workspace内部的对象如集群等。

ADB Account Console

上面提到的Account Admin,是UC 启用后出现的新的登陆方式,可以由下图中的【Manage Account】进入。 或者当前有权限的AAD 账号通过网址:添加链接描述 进入
在这里插入图片描述

External Location

它是一个连接外部ADLS 的对象, 每个External Location包含一个ADLS 路径和一个storage Credential。这个Credential要么是MI (推荐),要么Service Principal来创建的访问实体。这个权限在ADB的workspace内部控制。

界面如下:

在这里插入图片描述

在这里插入图片描述
从微软文章中可以看到MI 是强烈建议使用的授权方式。
添加链接描述
在这里插入图片描述

MI/SP 与External Location的关系如下图
在这里插入图片描述

托管表和外部表

托管表(Managed Tables)和外部表(External Tables)简单来说就是元数据和用户数据是否放在一起。如果执行删除表的操作,对于托管表来说就是全部删除,对于外部表来说只是删除元数据,而不删除用户数据。

一般而言,建议使用托管表,除非你有一些非Delta格式(托管表默认格式)或者其他服务需要连接数据时才考虑外部表。

这篇关于【Azure 架构师学习笔记】- Azure Databricks (7) --Unity Catalog(UC) 基本概念和组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/729150

相关文章

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

Spring组件初始化扩展点BeanPostProcessor的作用详解

《Spring组件初始化扩展点BeanPostProcessor的作用详解》本文通过实战案例和常见应用场景详细介绍了BeanPostProcessor的使用,并强调了其在Spring扩展中的重要性,感... 目录一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessB

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

Vue3中的动态组件详解

《Vue3中的动态组件详解》本文介绍了Vue3中的动态组件,通过`component:is=动态组件名或组件对象/component`来实现根据条件动态渲染不同的组件,此外,还提到了使用`markRa... 目录vue3动态组件动态组件的基本使用第一种写法第二种写法性能优化解决方法总结Vue3动态组件动态

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element