Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se proporciona información general sobre las conexiones de almacenamiento en la nube necesarias para trabajar con datos mediante el catálogo de Unity, junto con información sobre cómo Unity Catalog rige el acceso al almacenamiento en la nube y a los servicios en la nube externos.
¿Cómo usa Unity Catalog el almacenamiento en la nube?
Databricks recomienda usar El catálogo de Unity para administrar el acceso a todos los datos que ha almacenado en el almacenamiento de objetos en la nube. El catálogo de Unity proporciona un conjunto de herramientas para configurar conexiones seguras al almacenamiento de objetos en la nube. Estas conexiones proporcionan acceso para completar las siguientes acciones:
- Ingesta de datos sin procesar en almacenes de lago.
- Cree y lea tablas administradas y volúmenes administrados de datos no estructurados en el almacenamiento en la nube administrado por el catálogo de Unity.
- Registre o cree tablas externas que contengan datos tabulares y volúmenes externos que contienen datos no estructurados en el almacenamiento en la nube administrados mediante el proveedor de nube.
- Leer y escribir datos no estructurados (volúmenes de Catálogo de Unity).
Para ser más específico, El catálogo de Unity usa el almacenamiento en la nube de dos maneras principales:
- Ubicaciones de almacenamiento predeterminadas (o "administradas") para tablas administradas y volúmenes administrados (datos no estructurados y no tabulares) que se crean en Databricks. Estas ubicaciones de almacenamiento administradas se pueden definir en el nivel de metastore, catálogo o esquema. Puede crear ubicaciones de almacenamiento administradas en el proveedor de nube, pero su ciclo de vida es totalmente administrado por El catálogo de Unity.
- Ubicaciones de almacenamiento donde se almacenan tablas y volúmenes externos. Se trata de tablas y volúmenes cuyo acceso desde Azure Databricks está administrado por Unity Catalog, pero cuyo ciclo de vida de datos y diseño de archivos se administran mediante el proveedor de nube y otras plataformas de datos. Normalmente, se usan tablas externas para registrar grandes cantidades de datos existentes en Azure Databricks, o si también necesita acceso de escritura a los datos mediante herramientas fuera de Azure Databricks.
Para más información sobre las tablas y volúmenes administrados frente a externos, consulte Introducción a las tablas de Azure Databricks y ¿Qué son los volúmenes del catálogo de Unity?.
Advertencia
No proporcione acceso a nivel de almacenamiento a identidades que no forman parte del Unity Catalog para tablas o volúmenes gestionados por el Unity Catalog. Esto pone en peligro la seguridad y la gobernanza de los datos.
Conceder acceso directo a los usuarios, entidades de servicio o identidades administradas a contenedores de Azure Data Lake Storage que contienen datos regidos por el Catálogo de Unity elude el catálogo de Unity. Esto expone datos a acceso excesivo, filtración y acceso no autorizado, al tiempo que complica la auditoría y aumenta la sobrecarga de administración.
El acceso directo al almacenamiento no se admite para las tablas administradas del catálogo de Unity.
Opciones de almacenamiento en la nube compatibles con el catálogo de Unity
Unity Catalog admite las siguientes opciones de almacenamiento en la nube para Azure Databricks.
Opción de almacenamiento en la nube | Descripción |
---|---|
Contenedores de Azure Data Lake Storage | Azure Data Lake Storage es adecuado para la mayoría de los casos de uso de Azure Databricks. Consulte Creación de una credencial de almacenamiento para conectarse a Azure Data Lake Storage. |
Cubos de AWS S3 | Azure Databricks admite el acceso de solo lectura multiplataforma a los buckets de S3. Consulte Creación de una credencial de almacenamiento para conectarse a AWS S3 (solo lectura). |
Cubos de Cloudflare R2 | Cloudflare R2 está pensado principalmente para los casos de uso compartido de Delta en los que desea evitar las tarifas de salida de datos. Consulte Creación de una credencial de almacenamiento para conectarse a Cloudflare R2. |
Raíz de DBFS | La raíz de DBFS es una ubicación de almacenamiento en la nube heredada. Aunque Databricks recomienda no almacenar datos en el almacenamiento raíz de DBFS, es posible que su área de trabajo lo haga debido a prácticas heredadas. Consulte Creación de una ubicación externa para los datos en la raíz de DBFS (heredado). |
¿Cómo controla Unity Catalog el acceso al almacenamiento en la nube?
Para administrar el acceso al almacenamiento en la nube subyacente que contiene tablas y volúmenes, El catálogo de Unity usa un objeto protegible denominado ubicación externa, que define una ruta de acceso a una ubicación de almacenamiento en la nube y las credenciales necesarias para acceder a esa ubicación. Estas credenciales se definen, a su vez, en un objeto protegible del catálogo de Unity denominado credencial de almacenamiento. Al conceder y revocar el acceso a los elementos protegibles de ubicación externa en el catálogo de Unity, se controla el acceso a los datos de la ubicación de almacenamiento en la nube. Al conceder y revocar el acceso a los elementos protegibles de credenciales de almacenamiento en el catálogo de Unity, puede crear objetos de ubicación externa.
Credenciales de almacenamiento y ubicaciones externas
Este es un poco más de detalle sobre estos dos objetos protegibles:
- Una credencial de almacenamiento representa un mecanismo de autenticación y autorización para acceder a los datos almacenados en el inquilino en la nube, por ejemplo, mediante una identidad administrada de Azure o una entidad de servicio para contenedores de Azure Data Lake Storage o un token de API de R2 para cubos de Cloudflare R2. Los privilegios concedidos en el catálogo de Unity controlan qué usuarios y grupos pueden usar la credencial para definir ubicaciones externas. El permiso para crear y usar credenciales de almacenamiento solo debe concederse a los usuarios que necesiten crear objetos de ubicación externos. Para obtener más información, consulte los vínculos en Opciones de almacenamiento en la nube compatibles con el catálogo de Unity.
- Una ubicación externa combina una ruta de acceso de almacenamiento en la nube con una credencial de almacenamiento que autoriza el acceso a la ruta de acceso de almacenamiento en la nube. Los privilegios concedidos en el catálogo de Unity controlan qué usuarios y grupos pueden acceder a la ruta de acceso de almacenamiento en la nube definida por la ubicación externa. Solo se debería conceder permiso para crear y usar ubicaciones externas a aquellos usuarios que necesiten crear tablas externas, volúmenes externos o ubicaciones de almacenamiento administradas. Vea Creación de una ubicación externa para conectar el almacenamiento en la nube a Azure Databricks.
Las ubicaciones externas se usan en el Catálogo de Unity para recursos de datos externos, como tablas externas y volúmenes externos, y para recursos de datos administrados, como tablas administradas y volúmenes administrados. Para obtener más información sobre la diferencia entre los recursos de datos externos y administrados en el catálogo de Unity, consulte Introducción a las tablas de Azure Databricks y ¿Qué son los volúmenes de Catálogo de Unity?.
Para obtener información sobre los procedimientos recomendados para usar ubicaciones externas, consulte Ubicaciones externas.
Uso de ubicaciones externas al crear tablas y volúmenes externos
Las tablas externas y los volúmenes externos registrados en el catálogo de Unity son esencialmente punteros a los datos del almacenamiento en la nube que administra fuera de Azure Databricks. Al crear una tabla externa o un volumen externo en el catálogo de Unity, debe hacer referencia a una ruta de acceso de almacenamiento en la nube que se incluye en un objeto de ubicación externa en el que se le han concedido privilegios adecuados. Para obtener más información sobre la diferencia entre los recursos de datos externos y administrados en el catálogo de Unity, consulte Introducción a las tablas de Azure Databricks y ¿Qué son los volúmenes de Catálogo de Unity?. Para obtener privilegios, consulte Concesión de permisos en una ubicación externa.
Uso de ubicaciones externas al crear almacenamiento administrado
El catálogo de Unity administra completamente las tablas administradas y los volúmenes administrados. Se almacenan de forma predeterminada en una ubicación de almacenamiento administrada, que se puede definir en el nivel de metastore, catálogo o esquema. Al asignar una ubicación de almacenamiento administrada a un metastore, catálogo o esquema, debe hacer referencia a un objeto de ubicación externa y debe tener privilegios adecuados para usarlo. Consulte Especificar una ubicación de almacenamiento administrada en el catálogo de Unity y procedimientos recomendados del catálogo de Unity.
Acceso basado en rutas a los datos en la nube
Aunque Unity Catalog admite el acceso basado en rutas de acceso a tablas externas y volúmenes externos mediante URI de almacenamiento en la nube, Databricks recomienda que los usuarios lean y escriban todas las tablas de Catálogo de Unity con nombres de tabla y accedan a datos en volúmenes mediante /Volumes
rutas de acceso. Los volúmenes son el objeto protegible que la mayoría de los usuarios de Azure Databricks deben usar para interactuar directamente con datos no tabulares en el almacenamiento de objetos en la nube. Consulte ¿Qué son los volúmenes de Unity Catalog?.
Advertencia
Si actualiza metadatos de tabla externa mediante un cliente que no es de Databricks o usa acceso basado en rutas de acceso desde Databricks, esos metadatos no sincronizan automáticamente el estado con el catálogo de Unity. Databricks desaconseja tales actualizaciones de metadatos, pero si realiza una, debe ejecutar MSCK REPAIR TABLE <table-name> SYNC METADATA
para actualizar el esquema en Unity Catalog. Consulte REPAIR TABLE.
Flujo de trabajo para administrar el acceso al almacenamiento en la nube en el catálogo de Unity
Para administrar el acceso al almacenamiento en la nube mediante el catálogo de Unity, haga lo siguiente:
- Cree un objeto de credencial de almacenamiento que contenga una credencial de nube a largo plazo, como una identidad administrada de Azure o un principal de servicio, con acceso a la ruta de almacenamiento en la nube.
- Cree un objeto de ubicación externa que haga referencia a la ruta de acceso de almacenamiento y al objeto de credencial de almacenamiento.
- Haga referencia a una ruta de acceso que se incluye en la ubicación externa al crear tablas externas, volúmenes externos o ubicaciones de almacenamiento administradas predeterminadas. Puede ser la ruta de acceso exacta definida en la ubicación externa o en una subruta.
Procedimientos recomendados para el almacenamiento en la nube de Azure con el catálogo de Unity
Azure Databricks requiere el uso de Azure Data Lake Storage como servicio de Azure Storage para los datos que se procesan en Azure Databricks mediante la gobernanza del catálogo de Unity. Azure Data Lake Storage permite separar los costos de almacenamiento y proceso y aprovechar el control de acceso específico proporcionado por Unity Catalog. Si los datos se almacenan en OneLake (el lago de datos de Microsoft Fabric) y se procesan mediante Databricks (omitiendo el catálogo de Unity), incurrirá en costes de proceso y almacenamiento agrupados. Esto puede dar lugar a costos que son aproximadamente 3x más altos para las lecturas y 1,6 veces más alto para las escrituras en comparación con Azure Data Lake Storage para almacenar, leer y escribir datos. Azure Blob Storage tampoco es compatible con el catálogo de Unity.
Característica | Azure Blob Storage (Servicio de almacenamiento de blobs de Azure) | Azure Data Lake Storage | OneLake |
---|---|---|---|
Se admite en el catálogo de Unity | X | ✓ | X |
Requiere una compra adicional de capacidad de Fabric | X | X | ✓ |
Operaciones admitidas desde motores externos |
|
|
Para obtener más información, consulte la documentación de OneLake. |
Despliegue | Regional | Regional | Global |
Autenticación | Firma de acceso compartido de Entra ID | Firma de acceso compartido de Entra ID | Entra ID |
Eventos de almacenamiento | ✓ | ✓ | X |
Eliminación suave | ✓ | ✓ | ✓ |
Control de acceso | RBAC | RBAC, ABAC, ACL | RBAC (solo tabla/carpeta, ACL de acceso directo no compatibles) |
Claves de cifrado | ✓ | ✓ | X |
Niveles de acceso | Archivo en línea | Frecuente, esporádico, poco frecuente, archivo | Solo frecuente |
Pasos siguientes
- Creación de una credencial de almacenamiento para conectarse a Azure Data Lake Storage
- Creación de una credencial de almacenamiento para conectarse a Cloudflare R2
- Creación de una credencial de almacenamiento para conectarse a AWS S3 (solo lectura)
- Creación de una ubicación externa para conectar el almacenamiento en la nube a Azure Databricks
- Especificar una ubicación de almacenamiento administrada en el catálogo de Unity
- Administración de credenciales de almacenamiento
- Administración de ubicaciones externas