Questions fréquentes sur Dataproc

Général

Qu'est-ce que Dataproc ?

Dataproc est un service rapide, convivial, économique et entièrement géré qui vous permet d'exécuter l'écosystème Apache Spark et Apache Hadoop sur Google Cloud Platform. Dataproc provisionne rapidement des clusters de petite ou de grande taille. Compatible avec de nombreux types de tâches courants, il s'intègre à d'autres services Google Cloud Platform, tels que Cloud Storage et Cloud Logging, vous permettant ainsi de réduire le coût total de possession.

Qu'est-ce qui différencie Dataproc des clusters Hadoop traditionnels ?

Dataproc est un service Spark/Hadoop géré qui contribue à la rapidité, la convivialité et la puissance de Spark et Hadoop. Lors d'un déploiement Hadoop traditionnel, même basé sur le cloud, vous devez installer, configurer, administrer et orchestrer votre travail sur le cluster. À l'inverse, Dataproc se charge à votre place de la création, de la gestion et de la surveillance des clusters, ainsi que de l'orchestration des tâches.

Comment utiliser Dataproc ?

Il existe plusieurs cas d'utilisation des clusters Dataproc en fonction de vos besoins et de vos capacités. Tout d'abord, vous pouvez utiliser Google Cloud Console, basé sur un navigateur, pour interagir avec Dataproc. Étant donné que Dataproc est intégré au SDK Cloud, vous pouvez également utiliser l'outil de ligne de commande gcloud. Pour un accès automatisé aux clusters, utilisez l'API REST Dataproc. Vous pouvez également établir des connexions SSH avec des nœuds maîtres ou de calcul dans votre cluster.

Comment fonctionne Dataproc ?

Dataproc est un framework géré qui s'exécute sur Google Cloud Platform. Il regroupe plusieurs outils de traitement de données courants, comme Apache Hadoop, Spark, Hive et Pig. Dataproc possède un ensemble de mécanismes de contrôle et d'intégration qui coordonnent le cycle de vie, la gestion et la coordination des clusters. Il est intégré au gestionnaire d'applications YARN pour simplifier la gestion et l'utilisation de vos clusters.

Quel type de tâches puis-je exécuter ?

Dataproc fournit une assistance immédiate et de bout en bout pour la plupart des types de tâches les plus courants, y compris les tâches Spark, Spark SQL, PySpark, MapReduce, Hive et Pig.

Quel gestionnaire de cluster Dataproc utilise-t-il avec Spark ?

Dataproc exécute Spark sur YARN.

À quelle fréquence les composants de Dataproc sont-ils mis à jour ?

Dataproc est mis à jour lorsque de nouvelles versions majeures sont publiées pour les composants sous-jacents (Hadoop, Spark, Hive, Pig). Chaque nouvelle version majeure de Dataproc est compatible avec des versions spécifiques de chaque composant (consultez la section Versions Dataproc compatibles).

Dataproc est-il intégré à d'autres produits Google Cloud Platform ?

Oui. Dataproc possède des intégrations natives et automatiques avec Compute Engine, Cloud Storage, Bigtable, BigQuery, Logging et Cloud Monitoring. De plus, Dataproc est intégré à des outils qui interagissent avec Cloud Platform, tels que le SDK Cloud et Google Cloud Console.

Puis-je exécuter un cluster persistant ?

Une fois démarrés, les clusters Dataproc continuent de fonctionner jusqu'à leur arrêt. Vous pouvez exécuter un cluster Dataproc aussi longtemps que vous le souhaitez.

Gestion de clusters

Puis-je exécuter plusieurs clusters à la fois ?

Oui. Vous pouvez exécuter simultanément plusieurs clusters Dataproc par projet. Par défaut, tous les projets sont soumis aux quotas de ressources Google Cloud. Vous pouvez facilement vérifier votre utilisation du quota et en demander une augmentation. Pour en savoir plus, consultez la page Quotas de ressources Dataproc.

Comment créer ou détruire un cluster ?

Il existe plusieurs manières de créer et de détruire des clusters. Les sections Dataproc de Google Cloud Console facilitent la gestion des clusters depuis votre navigateur. Les clusters peuvent également être gérés via la ligne de commande du SDK Cloud. Pour les cas d'utilisation plus complexes ou avancés, l'API REST Cloud Dataproc permet de gérer les clusters de manière automatisée.

Puis-je appliquer des paramètres personnalisés lors de la création d'un cluster ?

Dataproc est compatible avec les actions d'initialisation exécutées lors de la création d'un cluster. Ces actions d'initialisation peuvent prendre la forme de scripts ou d'exécutables que Dataproc lancera au moment du provisionnement de votre cluster pour personnaliser les paramètres, installer des applications ou apporter d'autres modifications à votre cluster.

Comment dimensionner un cluster selon mes besoins ?

Les décisions de dimensionnement des clusters reposent sur plusieurs facteurs, y compris le type de tâche à effectuer, les contraintes de budget, les critères de rapidité et votre quota de ressources. Étant donné que Dataproc peut être déployé sur divers types de machines, vous avez la possibilité de choisir les ressources dont vous avez besoin, quand vous en avez besoin.

Puis-je redimensionner mon cluster ?

Oui. Vous pouvez facilement redimensionner votre cluster, même pendant le traitement de la tâche. Vous pouvez redimensionner votre cluster via Google Cloud Console ou la ligne de commande. Le redimensionnement permet d'augmenter ou de diminuer le nombre de nœuds de calcul dans un cluster. Les nœuds de calcul qui seront ajoutés à un cluster auront le même type et la même taille que les nœuds de calcul existants. Le redimensionnement des clusters est admis et compatible, sauf dans certains cas, tels que la réduction du nombre de nœuds de calcul jusqu'à un ou la réduction de la capacité HDFS sous la quantité nécessaire à la finalisation de la tâche.

Gestion des tâches et des workflows

Comment puis-je envoyer des tâches sur mon cluster ?

Il existe plusieurs façons d'envoyer des tâches sur un cluster Dataproc. La méthode la plus simple consiste à utiliser la page Dataproc Envoyer une tâche dans Google Cloud Console ou la commande gcloud dataproc jobs submit du SDK Cloud. Pour en savoir plus sur l'envoi de tâches de manière automatisée, consultez la documentation de référence de l'API Dataproc.

Puis-je exécuter plusieurs tâches à la fois ?

Oui, vous pouvez exécuter plusieurs tâches à la fois sur un cluster Dataproc. Cloud Dataproc utilise un gestionnaire de ressources (YARN) et des configurations spécifiques à l'application, telles que le scaling avec Spark, afin d'optimiser l'utilisation des ressources sur un cluster. Les performances d'exécution des tâches évolueront en fonction de la taille du cluster et du nombre de tâches actives.

Puis-je annuler des tâches sur mon cluster ?

Bien sûr. Il est possible d'annuler des tâches via l'interface Web Google Cloud Console ou la ligne de commande. Dataproc se sert de l'annulation de l'application YARN pour arrêter les tâches sur demande.

Puis-je automatiser des tâches sur mon cluster ?

Plusieurs méthodes permettent d'automatiser des tâches pour qu'elles s'exécutent sur des clusters. Vous pouvez utiliser l'outil de ligne de commande gcloud du SDK Cloud ou les API REST Dataproc pour automatiser la gestion et le workflow des clusters et des tâches.

Développement

Quels sont les langages de développement disponibles ?

Vous pouvez utiliser les langages compatibles avec l'écosystème Spark/Hadoop, y compris Java, Scala, Python et R.

Dataproc possède-t-il une API ?

Oui. Dataproc possède un ensemble d'API RESTful qui vous permettent d'interagir avec les clusters et les tâches de manière automatisée.

Puis-je me connecter en SSH dans un cluster ?

Oui. Vous pouvez vous connecter en SSH sur chaque machine (nœud maître ou nœud de calcul) d'un cluster. La connexion en SSH peut s'effectuer depuis un navigateur ou depuis la ligne de commande.

Puis-je accéder aux interfaces utilisateur Web Spark/Hadoop ?

Oui. Les interfaces utilisateur Hadoop et Spark (interfaces utilisateur Spark, Hadoop, YARN) sont accessibles au sein d'un cluster. Plutôt que d'ouvrir des ports pour les interfaces utilisateur, il est recommandé d'utiliser un tunnel SSH, qui transférera en toute sécurité le trafic des clusters via la connexion SSH.

Puis-je installer ou gérer des logiciels sur mon cluster ?

Oui. De la même manière qu'avec un cluster ou un serveur Hadoop, il est possible d'installer et de gérer des logiciels sur un cluster Dataproc.

Quel est le facteur de réplication par défaut ?

En raison des considérations sur les performances ainsi que de la haute fiabilité du stockage associé aux clusters Dataproc, le facteur de réplication par défaut est défini sur 2.

Sur quel système d'exploitation fonctionne Dataproc ?

Dataproc est basé sur Debian. Les dernières images sont basées sur Debian 9 Stretch.

Où puis-je obtenir davantage d'informations sur les flux Hadoop ?

Vous pouvez consulter la documentation du projet Apache.

Comment installer la commande gcloud dataproc ?

Lorsque vous installez le SDK Cloud, l'outil de ligne de commande gcloud standard est installé, y compris les commandes gcloud dataproc.

Accès aux données et disponibilité

Comment puis-je transférer des données vers et depuis un cluster ?

Dataproc utilise le système de fichiers distribué Hadoop (HDFS, Hadoop Distributed File System) à des fins de stockage. En outre, Dataproc installe automatiquement le connecteur Cloud Storage compatible avec HDFS. Cela permet d'utiliser Cloud Storage en parallèle avec HDFS. Il est possible de transférer des données vers et depuis un cluster via des opérations d'importation/de téléchargement vers HDFS ou Cloud Storage.

Puis-je utiliser Cloud Storage avec Dataproc ?

Oui. Les clusters Dataproc installent automatiquement le connecteur Cloud Storage. Utiliser Cloud Storage à la place du traditionnel HDFS offre plusieurs avantages, parmi lesquels la persistance et la fiabilité des données, ainsi que l'amélioration de leurs performances.

Puis-je bénéficier d'une assistance pour le connecteur Cloud Storage ?

Oui. Lorsqu'il est utilisé avec Dataproc, le connecteur Cloud Storage dispose du même niveau d'assistance que Dataproc (consultez la page Assistance). Tous les utilisateurs du connecteur peuvent utiliser le tag google-cloud-dataproc sur Stack Overflow pour trouver les questions et les réponses correspondantes.

Quel est le degré de fiabilité de Dataproc ?

Dataproc est basé sur des technologies Google Cloud Platform fiables et éprouvées, dont Compute Engine, Cloud Storage et Monitoring. Il bénéficie ainsi d'une haute disponibilité et fiabilité. Comme il s'agit d'un produit accessible à tous, vous pouvez consulter le Contrat de niveau de service Dataproc.

Que deviennent mes données une fois le cluster arrêté ?

Les données de Cloud Storage restent présentes après l'arrêt du cluster. Cela représente l'un des avantages à choisir Cloud Storage à la place de HDFS, puisque les données HDFS sont supprimées suivant l'arrêt du cluster (à moins de les transférer vers une zone persistante avant l'arrêt).

Journalisation, surveillance et débogage

Quels sont les types de journalisation et de surveillance disponibles ?

Par défaut, les clusters Dataproc sont intégrés à Monitoring et Logging. Monitoring et Logging permettent d'obtenir facilement des informations détaillées sur l'état, les performances et le statut de vos clusters Dataproc. Les journaux d'application (YARN, Spark, etc.) et système sont tous deux transférés vers Logging.

Comment afficher les journaux depuis Dataproc ?

Il existe plusieurs manières d'afficher les journaux depuis Dataproc. Vous pouvez visiter Logging pour afficher les journaux de cluster cumulés dans un navigateur Web. Vous pouvez également utiliser la ligne de commande (SSH) pour afficher manuellement les journaux ou surveiller les résultats des applications. Enfin, les interfaces utilisateur Web d'applications Hadoop, telles que l'interface Web YARN, permettent d'afficher les journaux en détail.

Comment surveiller les clusters ?

Vous pouvez surveiller facilement les clusters via Monitoring ou la section Cloud Dataproc de Google Cloud Console. Vous pouvez également surveiller vos clusters via l'accès en ligne de commande (SSH) ou les interfaces Web d'applications (Spark, YARN, etc.).

Sécurité et accès

Comment mes données sont-elles sécurisées ?

Google Cloud Platform utilise un modèle de sécurité complet, qui s'applique également à Cloud Dataproc. Dataproc fournit des mécanismes d'authentification, d'autorisation et de chiffrement, tels que SSL, afin de sécuriser les données. Les données peuvent être chiffrées par l'utilisateur en transit vers et depuis un cluster, lors de la création du cluster ou de la soumission d'une tâche.

Comment puis-je contrôler l'accès à mon cluster Dataproc ?

Google Cloud Platform propose des mécanismes d'authentification compatibles avec Dataproc. L'accès aux clusters et aux tâches Dataproc peut être accordé aux utilisateurs au niveau du projet.

Billing

Quelles sont les conditions de facturation de Dataproc ?

Dataproc est facturé à la seconde, en fonction de la taille du cluster et de la période pendant laquelle celui-ci est actif. Dans le calcul des frais liés aux composants de cluster, Dataproc applique des frais fixes basés sur le nombre de processeurs virtuels d'un cluster. Ces frais restent les mêmes, indépendamment du type de machine ou de la taille des ressources Compute Engine utilisées.

Suis-je facturé pour d'autres ressources Google Cloud ?

Oui. L'exécution d'un cluster Dataproc entraîne des frais pour les autres ressources Google Cloud utilisées dans le cluster, telles que Compute Engine et Cloud Storage. Chaque élément est indiqué séparément dans votre facture, afin de vous offrir une vision claire du calcul et de l'allocation de vos coûts.

Existe-t-il une période minimale ou maximale pour la facturation ?

Les frais Google Cloud sont calculés à la seconde, et non à l'heure. À l'heure actuelle, Compute Engine applique une facturation minimale d'une minute. Par conséquent, Dataproc pratique également une facturation minimale d'une minute.

Disponibilité

Qui peut créer un cluster Dataproc ?

Dataproc est accessible à tous. En d'autres termes, tous les clients de Google Cloud Platform peuvent l'utiliser.

Dans quelles régions Dataproc est-il disponible ?

Dataproc est disponible dans toutes les régions et zones de Google Cloud Platform.