Le connecteur Cloud Storage est une bibliothèque Java Open Source qui vous permet d'exécuter des tâches Apache Hadoop ou Apache Spark, directement sur des données dans Cloud Storage. Il offre de nombreux avantages par rapport au système de fichiers distribué Hadoop (HDFS, Hadoop Distributed File System).
Avantages du connecteur Cloud Storage
- Accès direct aux données : stockez vos données dans Cloud Storage et accédez-y directement. Vous n'avez pas besoin de les transférer dans HDFS.
- Compatibilité HDFS : accédez facilement à vos données dans Cloud Storage en utilisant le préfixe
gs://
au lieu dehdfs://
. - Interopérabilité : le stockage de données dans Cloud Storage permet une interopérabilité transparente entre les services Spark, Hadoop et Google.
- Accessibilité des données : contrairement à HDFS, lorsque vous arrêtez un cluster Hadoop, vous avez toujours accès à vos données dans Cloud Storage.
- Disponibilité élevée des données : la disponibilité des données stockées dans Cloud Storage est élevée, et elles sont répliquées à l'échelle mondiale sans perte de performance.
- Pas de surcharge de la gestion du stockage : contrairement à HDFS, Cloud Storage ne nécessite pas de maintenance périodique, telle que la vérification, la mise à niveau ou le rollback vers une version précédente du système de fichiers, etc.
- Démarrage rapide : dans HDFS, une tâche MapReduce ne peut pas être lancée tant que
NameNode
n'est pas en mode sans échec. Ce processus peut durer de quelques secondes à plusieurs minutes en fonction de la taille et de l'état de vos données. Avec Cloud Storage, vous pouvez exécuter la tâche dès le démarrage des nœuds de tâche, ce qui permet de réaliser des économies considérables au fil du temps.
Configuration du connecteur Cloud Storage du cluster Dataproc
Le connecteur Cloud Storage est installé par défaut sur tous les nœuds de cluster Dataproc dans le répertoire /usr/local/share/google/dataproc/lib/
.
Les sections suivantes décrivent les étapes que vous pouvez suivre pour configurer correctement le connecteur sur votre cluster Dataproc.
Autorisations de compte de service
Lorsque vous exécutez le connecteur dans des VM Compute Engine, y compris dans des clusters Dataproc, la propriété google.cloud.auth.service.account.enable
est définie sur false
par défaut, ce qui signifie que vous n'avez pas besoin de configurer manuellement un compte de service pour le connecteur. Il obtient les identifiants du compte de service du serveur de métadonnées de VM.
Versions de connecteur autres que celles par défaut
Les versions par défaut du connecteur Cloud Storage utilisées dans les dernières images installées sur les clusters Dataproc sont répertoriées sur les pages des versions d'image de cluster (consultez la section Versions de Dataproc compatibles). Si votre application dépend d'une version de connecteur autre que celle par défaut déployée sur votre cluster, vous devez:
- créer un cluster avec l'option
--metadata=GCS_CONNECTOR_VERSION=x.y.z
, qui met à jour le connecteur utilisé par les applications exécutées sur le cluster vers la version spécifiée du connecteur ; ou - inclure et déplacer les classes de connecteur et les dépendances de connecteur correspondant à la version que vous utilisez dans le fichier JAR de votre application. La relocalisation est nécessaire pour éviter tout conflit entre la version du connecteur déployée et la version par défaut du connecteur installée sur le cluster Dataproc (voir l'exemple de transfert des dépendances Maven).
Clusters autres que Dataproc
Téléchargez le connecteur.
Pour télécharger le connecteur Cloud Storage pour Hadoop, vous devez disposer des éléments suivants :
- Dernière version située dans le bucket Cloud Storage (non recommandée pour une utilisation en production) :
- version spécifique du bucket Cloud Storage en remplaçant les versions du connecteur Hadoop et Cloud Storage dans le modèle de nom
gcs-connector-HADOOP_VERSION-CONNECTOR_VERSION.jar
:- Exemple :
gs://hadoop-lib/gcs/gcs-connector-hadoop2-2.1.1.jar
- Exemple :
- version spécifique dans le dépôt Apache Maven (téléchargez un fichier JAR ombré dont le nom contient le suffixe
-shaded
).
Installez le connecteur.
Consultez la section Installer le connecteur sur GitHub pour installer, configurer et tester le connecteur Cloud Storage.
Utiliser le connecteur
Vous pouvez accéder aux données stockées dans Cloud Storage de plusieurs façons :
- Avec le préfixe
gs://
dans une application Spark (ou PySpark) ou Hadoop - Avec l'interface système Hadoop :
hadoop fs -ls gs://bucket/dir/file
- Le navigateur Cloud Storage de la console Google Cloud.
- À l'aide des commandes
gsutil cp
ougsutil rsync
Ressources
Version Java compatible
Java 8 est indispensable au fonctionnement du connecteur Cloud Storage.
Informations sur la dépendance Apache Maven
<dependency> <groupId>com.google.cloud.bigdataoss</groupId> <artifactId>gcs-connector</artifactId> <version>insert "hadoopX-X.X.X" connector version number here</version> <scope>provided</scope> </dependency>
Ou pour la version grisée:
<dependency> <groupId>com.google.cloud.bigdataoss</groupId> <artifactId>gcs-connector</artifactId> <version>insert "hadoopX-X.X.X" connector version number here</version> <scope>provided</scope> <classifier>shaded</classifier> </dependency>
Pour plus d'informations, consultez les notes de version du connecteur Cloud Storage et la documentation de référence Javadoc.
Étapes suivantes
- En savoir plus sur Cloud Storage