Tables externes
S’applique à : Databricks SQL Databricks Runtime
Unity Catalog et le metastore intégré Azure Databricks Hive utilisent des emplacements par défaut pour les tables managées. Unity Catalog introduit plusieurs nouveaux objets sécurisables pour accorder des privilèges aux données dans le stockage d’objets cloud.
Informations d’identification du stockage
Objet Unity Catalog utilisé pour extraire les informations d’identification à long terme des fournisseurs de stockage cloud.
-
Objet Unity Catalog utilisé pour associer un URI de stockage d’objets cloud à des informations d’identification de stockage.
-
Table Unity Catalog créée dans un emplacement externe managé par Unity Catalog.
Table externe
Une table externe est une table qui fait référence à un chemin de stockage externe en utilisant une clause LOCATION
.
Le chemin de stockage doit être contenu dans un emplacement externe existant auquel vous êtes autorisé à accéder.
Vous pouvez également référencer des informations d’identification de stockage auxquelles vous avez accès.
L’utilisation de tables externes supprime le chemin d’accès au stockage, l’emplacement externe et les informations d’identification du stockage pour les utilisateurs auxquels l’accès à la table externe est accordé.
Avertissement
Si un schéma (base de données) est inscrit dans votre metastore Hive au niveau de l’espace de travail, la suppression de ce schéma à l’aide de l’option CASCADE
entraîne la suppression récursive de tous les fichiers de cet emplacement de schéma, quel que soit le type de table (managé ou externe).
Si le schéma est inscrit dans un metastore Unity Catalog, les fichiers des tables managées Unity Catalog sont supprimés de manière récursive. Toutefois, les fichiers des tables externes ne sont pas supprimés. Vous devez gérer ces fichiers directement à l’aide du fournisseur de stockage cloud.
Par conséquent, pour éviter toute perte accidentelle de données, vous ne devez jamais inscrire un schéma dans un metastore Hive à un emplacement contenant des données existantes. Vous ne devez pas non plus créer de tables externes dans un emplacement géré par des schémas de metastore Hive ou contenant des tables managées Unity Catalog.
Représentation graphique des relations
Le diagramme suivant décrit la relation entre les éléments suivants :
- informations d’identification de stockage
- emplacements externes
- tables externes
- chemins de stockage
- entités IAM
- comptes de service Azure
Exemples
-- `finance` can create an external table over specific object within the `finance_loc` location
> CREATE TABLE sec_filings LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings';
-- Create or replace an external table from a query
> CREATE OR REPLACE TABLE sec_filings
LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings'
AS (SELECT * FROM current_filings);
-- Cannot list files under an external table without permissions on it
> LIST `abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings`
Error
> LIST `abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings/_delta_log`
Error
-- Grant access to sec_filings to all employees
> GRANT SELECT ON TABLE sec_filings TO employee;
-- Any member of the `employee` group can securely read sec_filings
> SELECT count(1) FROM sec_filings;
20
-- Any member of the `employee` group can list files under the sec_filings table
> LIST `abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings`
_delta_log
> LIST `abfss://container@storageaccount.dfs.core.windows.net/depts/finance/sec_filings/_delta_log`
00000.json
Articles connexes
- Informations d’identification de stockage
- MODIFIER LES INFORMATIONS D’IDENTIFICATION DE STOCKAGE
- ALTER TABLE
- CRÉER UN EMPLACEMENT
- DÉCRIRE LES INFORMATIONS D’IDENTIFICATION DE STOCKAGE
- DESCRIBE TABLE
- DROP STORAGE CREDENTIAL
- DROP TABLE
- AFFICHER LES INFORMATIONS D’IDENTIFICATION DE STOCKAGE
- SHOW TABLES
- GRANT
- REVOKE