Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment utiliser la COPY INTO commande pour charger des données à partir d’un conteneur Azure Data Lake Storage (ADLS) dans votre compte Azure dans une table dans Databricks SQL.
Les étapes décrites dans cet article supposent que votre administrateur a configuré un entrepôt SQL pour utiliser un principal de service Azure Databricks afin que vous puissiez accéder à vos fichiers sources dans ADLS. Si votre administrateur a configuré un emplacement externe du catalogue Unity avec des informations d’identification de stockage, consultez Charger des données à l’aide COPY INTO de volumes de catalogue Unity ou d’emplacements externes à la place. Si votre administrateur vous a donné des identifiants temporaires (jeton SAS d’objet blob), suivez les étapes de chargement des données avec COPY INTO des identifiants temporaires à la place.
Databricks recommande d’utiliser la commande COPY INTO pour le chargement de données, qu'il soit incrémentiel ou en bloc, avec Databricks SQL.
Notes
COPY INTO fonctionne bien pour les sources de données qui contiennent des milliers de fichiers. Databricks vous recommande d’utiliser Auto Loader pour charger des millions de fichiers, ce qui n’est pas pris en charge dans Databricks SQL.
Avant de commencer
Avant de charger des données dans Azure Databricks, vérifiez que vous disposez des éléments suivants :
- Accès aux données dans ADLS. Votre administrateur doit d’abord effectuer les étapes décrites dans Configurer l’accès aux données pour l’ingestion afin que votre entrepôt Databricks SQL puisse lire vos fichiers sources.
- Entrepôt Databricks SQL.
- L’autorisation Peut gérer dans l’entrepôt SQL.
- Chemin d’accès à vos données dans un conteneur ADLS.
- Bonne connaissance de l’interface utilisateur de Databricks SQL.
Étape 1 : Confirmer l’accès aux données dans le stockage cloud
Procédez comme suit pour vérifier que vous avez accès aux données justes dans le stockage d’objets cloud :
Dans la barre latérale, cliquez sur Créer > Requête.
Dans la barre de menus de l’éditeur SQL, sélectionnez un entrepôt SQL.
Dans l’éditeur SQL, collez le code suivant :
select * from csv.<path>Remplacez
<path>par le chemin d’accès du conteneur ADLS que vous avez reçu de votre administrateur. Par exemple,abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>.Cliquez sur Exécuter.
Étape 2 : Créer une table
Cette étape explique comment créer une table dans votre espace de travail Azure Databricks pour contenir les données entrantes.
Dans l’éditeur SQL, collez le code suivant :
CREATE TABLE <catalog_name>.<schema_name>.<table_name> ( tpep_pickup_datetime TIMESTAMP, tpep_dropoff_datetime TIMESTAMP, trip_distance DOUBLE, fare_amount DOUBLE, pickup_zip INT, dropoff_zip INT );Cliquez sur Exécuter.
Étape 3 : Charger des données dans la table à partir du stockage cloud
Cette étape explique comment charger des données à partir d’un conteneur ADLS dans la table de votre espace de travail Azure Databricks.
Dans la barre latérale, cliquez sur Créer > Requête.
Dans la barre de menus de l’éditeur SQL, sélectionnez un entrepôt SQL et vérifiez que l’entrepôt SQL est en cours d’exécution.
Dans l’éditeur SQL, collez le code suivant. Dans ce code, remplacez :
-
<container>avec le nom de votre conteneur ADLS dans votre compte de stockage. -
<storage-account>avec le nom de votre compte de stockage ADLS. -
<folder>avec le nom du dossier qui contient vos données. -
<blob-sas-token>avec la valeur du jeton SAS Blob que vous avez reçu de votre administrateur.
COPY INTO <catalog-name>.<schema-name>.<table-name> FROM 'abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>' FILEFORMAT = CSV FORMAT_OPTIONS ( 'header' = 'true', 'inferSchema' = 'true' ); SELECT * FROM <catalog-name>.<schema-name>.<table-name>;Notes
FORMAT_OPTIONSdiffère deFILEFORMAT. Dans ce cas, l’optionheaderindique à Azure Databricks de traiter la première ligne du fichier CSV en tant qu’en-tête, et les optionsinferSchemaindiquent à Azure Databricks de déterminer automatiquement le type de données de chaque champ dans le fichier CSV.-
Cliquez sur Exécuter.
Notes
Si vous cliquez à nouveau sur Exécuter, aucune nouvelle donnée n’est chargée dans la table. Cela est dû au fait que la commande
COPY INTOtraite uniquement ce qu’elle considère comme de nouvelles données.
Nettoyer
Vous pouvez nettoyer les ressources associées de votre espace de travail si vous ne souhaitez plus les conserver.
Supprimer les tables
Dans la barre latérale, cliquez sur Créer > Requête.
Sélectionnez un entrepôt SQL et vérifiez que l’entrepôt SQL est en cours d’exécution.
Collez le code suivant :
DROP TABLE <catalog-name>.<schema-name>.<table-name>;Cliquez sur Exécuter.
Survolez l’onglet de cette requête, puis cliquez sur l’icône X.
Supprimer les requêtes dans l’éditeur SQL
- Dans la barre latérale, cliquez sur Éditeur SQL.
- Dans la barre de menus de l’éditeur SQL, pointez sur l’onglet de chaque requête que vous avez créée pour ce didacticiel, puis cliquez sur l’icône X .
Ressources supplémentaires
- L’article COPY INTO de référence