Conectar a Azure Data Lake Storage Gen2 y Blob Storage
Artículo
Nota
En este artículo, se describen los patrones heredados para configurar el acceso a Azure Data Lake Storage Gen2. Databricks recomienda usar Unity Catalog para configurar el acceso a Azure Data Lake Storage Gen2 y volúmenes para la interacción directa con los archivos. Consulte Conexión al almacenamiento y servicios de objetos en la nube mediante el catálogo de Unity.
En este artículo se explica cómo conectarse a Azure Data Lake Storage Gen2 y Blob Storage desde Azure Databricks.
Para crear una entidad de servicio de Microsoft Entra ID, debe tener el rol Application Administrator o el permiso Application.ReadWrite.All en Microsoft Entra ID. Para asignar roles en una cuenta de almacenamiento, es necesario ser propietario o usuario con el rol RBAC de Azure de administrador de acceso de usuarios en la cuenta de almacenamiento.
Importante
Blob Storage no admite entidades de servicio de Id. de Microsoft Entra.
Firmas de acceso compartido (SAS): es posible usar tokens de SAS de almacenamiento para acceder a Azure Storage. Las SAS permiten restringir el acceso a una cuenta de almacenamiento por medio de tokens temporales con un control de acceso específico.
Solo puede conceder permisos de token de SAS que tenga en la cuenta de almacenamiento, el contenedor o el archivo usted mismo.
Claves de acceso: es posible usar las claves de acceso de una cuenta de almacenamiento para administrar el acceso a Azure Storage. Las claves de acceso de la cuenta de almacenamiento proporcionan acceso total a la configuración de una cuenta de almacenamiento, así como a los datos. Databricks recomienda usar una entidad de servicio de Microsoft Entra ID o un token de SAS para conectarse a Azure Storage en lugar de claves de cuenta.
Para ver las claves de acceso de una cuenta, es necesario tener el rol Propietario, Colaborador o Servicio de operador de clave de cuenta de almacenamiento en la cuenta de almacenamiento.
El equipo de Databricks recomienda que se usen ámbitos secretos para almacenar todas las credenciales. Puede otorgar a los usuarios, entidades de servicio y grupos de su área de trabajo acceso para leer el ámbito secreto. Esto protege las credenciales de Azure, a la vez que permite a los usuarios acceder a Azure Storage. Para crear un ámbito de secreto, consulte Administración de ámbitos secretos.
Establecimiento de las propiedades de Spark para configurar las credenciales de Azure para acceder a Azure Storage
Es posible establecer las propiedades de Spark para configurar las credenciales de Azure para acceder a Azure Storage. Las credenciales se pueden asignar a un clúster o a un cuaderno. Utilice tanto el control de acceso a clústeres como el control de acceso a cuadernos para proteger el acceso a Azure Storage. Consulte Permisos de proceso y Colaborar mediante cuadernos de Databricks.
Nota
Las entidades de servicio de Microsoft Entra ID también se pueden usar para acceder a Azure Storage desde un almacén de SQL, consulte Habilitar la configuración del acceso a datos.
Para establecer las propiedades de Spark, use el siguiente fragmento de código en la configuración de Spark de un clúster o en un cuaderno:
Entidad de servicio de Azure
Use el siguiente formato para establecer la configuración de Spark del clúster:
<storage-account> con el nombre de la cuenta de Azure Storage.
<scope> con el nombre del ámbito de secreto de Azure Databricks.
<storage-account-access-key> con el nombre de la clave que contiene la clave de acceso de la cuenta de almacenamiento de Azure.
Acceso a Azure Storage
Una vez que haya configurado correctamente las credenciales para acceder al contenedor de Azure Storage, podrá interactuar con los recursos de la cuenta de almacenamiento mediante el uso de URI. El equipo de Databricks recomienda que se use el controlador abfss.
Problemas conocidos de Azure Data Lake Storage Gen2
Si intenta acceder a un contenedor de almacenamiento creado a través de Azure Portal, puede recibir el siguiente error:
StatusCode=404
StatusDescription=The specified filesystem does not exist.
ErrorCode=FilesystemNotFound
ErrorMessage=The specified filesystem does not exist.
Cuando se habilita un espacio de nombres jerárquico, no es necesario crear contenedores a través de Azure Portal. Si ve este problema, elimine el contenedor de blobs mediante Azure Portal. Después de unos minutos, puede acceder al contenedor. Como alternativa, puede cambiar el URI abfss para usar otro contenedor, siempre y cuando este contenedor no se cree mediante Azure Portal.
Demostrar la comprensión de las tareas comunes de ingeniería de datos para implementar y administrar cargas de trabajo de ingeniería de datos en Microsoft Azure mediante una serie de servicios de Azure.