Charger des données pour des travaux Apache Hadoop dans HDInsight
HDInsight fournit un système HDFS (Hadoop Distributed File System) pour le Stockage Azure et Azure Data Lake Storage. Ce stockage comprend Gen2. Stockage Azure et Azure Data Lake Storage Gen2 sont conçus en tant qu’extensions HDFS. Ils permettent à l’ensemble des composants de l’environnement Hadoop de fonctionner directement sur les données qu’il gère. Stockage Azure et Data Lake Storage Gen2 sont des systèmes de fichiers distincts. Les systèmes sont optimisés pour le stockage des données et des calculs sur ces données. Pour connaître les avantages que constitue l’utilisation du stockage Azure, consultez la page Utilisation du stockage Azure avec HDInsight. Consultez également Utiliser Data Lake Storage Gen2 avec HDInsight.
Prérequis
Notez les prérequis suivants avant de démarrer :
- Un cluster Azure HDInsight. Pour obtenir des instructions, consultez Démarrage rapide : Exécuter une tâche Spark sur Azure HDInsight à l’aide du portail Azure.
- Connaissance des articles suivants :
Charger des données sur le Stockage Azure
Services
Microsoft fournit les utilitaires suivants pour utiliser le Stockage Azure :
Outil | Linux | OS X | Windows |
---|---|---|---|
Azure portal | ✔ | ✔ | ✔ |
Azure CLI | ✔ | ✔ | ✔ |
Azure PowerShell | ✔ | ||
AZCopy | ✔ | ✔ | |
Commande Hadoop | ✔ | ✔ | ✔ |
Notes
La commande Hadoop est uniquement disponible sur le cluster HDInsight. La commande autorise uniquement le chargement de données du système de fichiers local sur le Stockage Azure.
Ligne de commande Hadoop
La ligne de commande Hadoop est utile uniquement pour stocker les données dans le blob du stockage Azure quand celles-ci sont déjà présentes sur le nœud principal du cluster.
Pour utiliser la commande Hadoop, vous devez d’abord vous connecter au nœud principal à l’aide de SSH ou PuTTY.
Une fois connecté, vous pouvez utiliser la syntaxe suivante pour télécharger un fichier dans le stockage.
hadoop fs -copyFromLocal <localFilePath> <storageFilePath>
Par exemple : hadoop fs -copyFromLocal data.txt /example/data/data.txt
Comme le système de fichiers par défaut pour HDInsight se trouve dans le Stockage Azure, /example/data.txt s’y trouve également. Vous pouvez également faire référence au fichier comme ceci :
wasbs:///example/data/data.txt
Or
wasbs://<ContainerName>@<StorageAccountName>.blob.core.windows.net/example/data/davinci.txt
Pour la liste des autres commandes Hadoop qui fonctionnent avec des fichiers, voir https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html
Avertissement
Sur les clusters Apache HBase, la taille de bloc par défaut durant l’écriture de données est de 256 Ko. Bien que cela fonctionne bien quand vous utilisez les API HBase ou les API REST, l’utilisation des commandes hadoop
ou hdfs dfs
pour écrire des données supérieures à ~12 Go génère une erreur. Pour plus d’informations, consultez Exception de stockage pour l’écriture sur un objet blob.
Clients graphiques
Plusieurs applications fournissent également une interface graphique pour utiliser Azure Storage. Le tableau suivant répertorie quelques-unes de ces applications :
Client | Linux | OS X | Windows |
---|---|---|---|
Outils Microsoft Visual Studio pour HDInsight | ✔ | ✔ | ✔ |
Azure Storage Explorer | ✔ | ✔ | ✔ |
Cerulea |
✔ | ||
CloudXplorer | ✔ | ||
CloudBerry Explorer for Microsoft Azure | ✔ | ||
Cyberduck | ✔ | ✔ |
Monter le stockage Azure comme un lecteur Local
Consultez Monter le stockage Azure comme un lecteur Local.
Effectuer un chargement en utilisant des services
Azure Data Factory
Le service Azure Data Factory est un service entièrement géré pour composer des services de stockage, de traitement et de déplacement de données dans des pipelines de production rationalisés, adaptables et fiables.
Type de stockage | Documentation |
---|---|
Stockage Blob Azure | Copier des données vers ou depuis le stockage Blob Azure à l’aide d’Azure Data Factory |
(../data-factory/connector-azure-data-lake-store.md) | |
Azure Data Lake Storage Gen2 | Charger des données dans Azure Data Lake Storage Gen2 avec Azure Data Factory |
Apache Sqoop
Sqoop est un outil conçu pour transférer des données entre Hadoop et des bases de données relationnelles. Utilisez-le pour importer des données à partir d’un système de gestion de base de données relationnelle (SGBDR), comme SQL Server, MySQL ou Oracle. Puis dans le système de fichiers Hadoop Distributed File System (HDFS). Transformez les données dans Hadoop avec MapReduce ou Hive, puis exportez de nouveau les données dans un SGBDR.
Pour plus d’informations, consultez Utilisation de Sqoop avec HDInsight.
Kits de développement logiciel (SDK) de développement
Le Stockage Azure est également accessible à l’aide d’un SDK Azure dans les langages de programmation suivants :
- .NET
- Java
- Node.js
- PHP
- Python
- Ruby
Pour plus d'informations sur l'installation des kits de développement logiciel (SDK) Azure, consultez Téléchargements Azure
Étapes suivantes
Maintenant que vous savez comment obtenir des données avec HDInsight, consultez les articles suivants pour apprendre à effectuer des analyses :