Examen Qubole: analyse de Big Data en libre-service

Présenté comme une plateforme de données cloud native pour l'analyse, l'IA et l'apprentissage automatique, Qubole propose des solutions pour l'engagement client, la transformation numérique, les produits basés sur les données, le marketing numérique, la modernisation et l'intelligence de sécurité. Il revendique un retour sur investissement rapide, une prise en charge multi-cloud, une productivité d'administrateur 10x, un ratio opérateur / utilisateur de 1: 200 et des coûts cloud inférieurs.

Ce que fait réellement Qubole, sur la base de ma brève expérience avec la plate-forme, est d'intégrer un certain nombre d'outils open source et quelques outils propriétaires, pour créer une expérience Big Data en libre-service basée sur le cloud pour les analystes de données et les ingénieurs de données et les scientifiques des données.

Qubole vous emmène de l'ETL via l'analyse exploratoire des données et la création de modèles au déploiement de modèles à l'échelle de la production. En cours de route, il automatise un certain nombre d'opérations cloud, telles que l'approvisionnement et la mise à l'échelle des ressources, qui peuvent autrement nécessiter un temps d'administrateur important. Il n'est pas clair si cette automatisation permettra réellement une augmentation de 10 fois la productivité de l'administrateur ou un ratio opérateur / utilisateur de 1: 200 pour une entreprise ou un cas d'utilisation spécifique.

Qubole a tendance à insister sur le concept de «données actives». Fondamentalement, la plupart des lacs de données - qui sont essentiellement des magasins de fichiers remplis de données provenant de nombreuses sources, le tout au même endroit mais pas dans une base de données - ont un faible pourcentage de données activement utilisées pour l'analyse. Qubole estime que la plupart des lacs de données sont actifs à 10% et inactifs à 90%, et prédit qu'il peut inverser ce rapport.

Les concurrents de Qubole incluent Databricks, AWS et Cloudera. Il existe un certain nombre d'autres produits qui ne concurrencent que certaines des fonctions de Qubole.

Databricks crée des blocs-notes, des tableaux de bord et des tâches au-dessus d'un gestionnaire de cluster et de Spark; Je l'ai trouvé une plate-forme utile pour les scientifiques des données lorsque je l'ai examinée en 2016. Databricks a récemment ouvert son produit Delta Lake, qui fournit des transactions ACID, une gestion évolutive des métadonnées et un traitement unifié des données en continu et par lots vers des lacs de données pour les rendre plus fiables et pour les aider à alimenter l'analyse Spark.

AWS propose une large gamme de produits de données et, en fait, Qubole prend en charge l'intégration avec un grand nombre d'entre eux. Cloudera, qui comprend désormais Hortonworks, fournit des services d'entrepôt de données et d'apprentissage automatique ainsi qu'un service de hub de données. Qubole affirme que Databricks et Cloudera manquent de gouvernance financière, mais vous pouvez mettre en œuvre la gouvernance vous-même au niveau du cloud unique, ou en utilisant un produit de gestion multi-cloud.

Comment fonctionne Qubole

Qubole intègre tous ses outils dans un environnement cloud et basé sur navigateur. Je discuterai des éléments de l'environnement dans la section suivante de cet article; dans cette section, je vais me concentrer sur les outils.

Qubole réalise le contrôle des coûts dans le cadre de sa gestion de cluster. Vous pouvez spécifier que les clusters utilisent une combinaison spécifique de types d'instances, y compris des instances ponctuelles lorsqu'elles sont disponibles, et le nombre minimum et maximum de nœuds pour l'autoscaling. Vous pouvez également spécifier la durée pendant laquelle un cluster continuera à s'exécuter en l'absence de charge, pour éviter les instances «zombies».

Étincelle

Dans son article d'août, «Comment Qubole relève les défis d'Apache Spark», le PDG de Qubole, Ashish Thusoo, discute des avantages et des pièges de Spark, et comment Qubole résout les difficultés telles que la configuration, les performances, les coûts et la gestion des ressources. Spark est un composant clé de Qubole pour les scientifiques des données, permettant une transformation des données et un apprentissage automatique faciles et rapides.

Presto

Presto est un moteur de requête SQL distribué open source pour exécuter des requêtes analytiques interactives sur des sources de données de toutes tailles, allant de gigaoctets à pétaoctets. Les requêtes Presto s'exécutent beaucoup plus rapidement que les requêtes Hive. En même temps, Presto peut voir et utiliser les métadonnées et les schémas de données Hive.

Ruche

Apache Hive est un projet open source populaire de l'écosystème Hadoop qui facilite la lecture, l'écriture et la gestion de grands ensembles de données résidant dans le stockage distribué à l'aide de SQL. La structure peut être projetée sur des données déjà stockées. L'exécution de la requête Hive s'exécute via Apache Tez, Apache Spark ou MapReduce. Hive on Qubole peut effectuer une mise à l'échelle automatique et des écritures directes en fonction de la charge de travail open-source Hive ne dispose pas de ces optimisations orientées cloud.

Les fondateurs de Qubole étaient également les créateurs d'Apache Hive. Ils ont lancé Hive sur Facebook et l'ont open source en 2008.

Quantum

Quantum est le propre moteur de requête SQL interactif sans serveur de Qubole, qui prend en charge à la fois Hive DDL et Presto SQL. Quantum est un service payant à l'utilisation qui est rentable pour les modèles de requêtes sporadiques qui s'étalent sur de longues périodes, et dispose d'un mode strict pour éviter les dépenses imprévues. Quantum utilise Presto et complète les clusters de serveurs Presto. Les requêtes quantiques sont limitées à 45 minutes d'exécution.

Flux d'air

Airflow est une plate-forme basée sur Python pour créer, planifier et surveiller par programme des flux de travail. Les workflows sont des graphes acycliques dirigés (DAG) de tâches. Vous configurez les DAG en écrivant des pipelines en code Python. Qubole propose Airflow comme l'un de ses services; il est souvent utilisé pour ETL.

Le nouveau QuboleOperator peut être utilisé comme n'importe quel autre opérateur Airflow existant. Lors de l'exécution de l'opérateur dans le workflow, il soumettra une commande à Qubole Data Service et attendra que la commande se termine. Qubole prend en charge les capteurs de fichiers et de tables Hive qu'Airflow peut utiliser pour surveiller par programme les flux de travail.

Pour voir l'interface utilisateur Airflow, vous devez d'abord démarrer un cluster Airflow, puis ouvrir la page du cluster pour voir le site Web Airflow.

RubiX

RubiX est le cadre de mise en cache de données léger de Qubole qui peut être utilisé par un système Big Data qui utilise une interface de système de fichiers Hadoop. RubiX est conçu pour fonctionner avec des systèmes de stockage cloud tels qu'Amazon S3 et Azure Blob Storage, et pour mettre en cache des fichiers distants sur un disque local. Qubole a publié RubiX en open source. Activer RubiX dans Qubole consiste à cocher une case.

Que fait Qubole?

Qubole fournit une plate-forme de bout en bout pour l'analyse et la science des données. La fonctionnalité est répartie sur une dizaine de modules.

Le module Explorer vous permet d'afficher vos tableaux de données, d'ajouter des magasins de données et de configurer l'échange de données. Sur AWS, vous pouvez afficher vos connexions de données, vos compartiments S3 et vos magasins de données Qubole Hive.

Les modules Analyze et Workbench vous permettent d'exécuter des requêtes ad hoc sur vos ensembles de données. Analyze est l'ancienne interface et Workbench est la nouvelle interface, qui était encore en version bêta lorsque je l'ai essayée. Les deux interfaces vous permettent de glisser-déposer des champs de données dans vos requêtes SQL et de choisir le moteur que vous utilisez pour exécuter les opérations: Quantum, Hive, Presto, Spark, une base de données, un shell ou Hadoop.

Smart Query est un générateur de requêtes SQL basé sur des formulaires pour Hive et Presto. Les modèles vous permettent de réutiliser des requêtes SQL paramétrées.

Les notebooks sont des notebooks Zeppelin basés sur Spark ou (en version bêta) Jupyter pour la science des données. Les tableaux de bord fournissent une interface pour partager vos explorations, sans autoriser l'accès à vos blocs-notes.

Scheduler vous permet d'exécuter des requêtes, des flux de travail, des importations et des exportations de données et des commandes automatiquement à intervalles. Cela complète les requêtes ad hoc que vous pouvez exécuter dans les modules Analyze et Workbench.

Le module Clusters vous permet de gérer vos clusters de serveurs Hadoop / Hive, Spark, Presto, Airflow et Deep Learning (beta). L'utilisation vous permet de suivre l'utilisation de votre cluster et de vos requêtes. Le panneau de configuration vous permet de configurer la plate-forme, soit pour vous-même, soit pour d'autres personnes si vous disposez des autorisations d'administration système.

Visite virtuelle de bout en bout de Qubole

J'ai parcouru une procédure pas à pas pour importer une base de données, créer un schéma Hive et analyser le résultat avec Hive et Presto, et séparément dans un notebook Spark. J'ai également examiné un DAG Airflow pour le même processus et un ordinateur portable pour faire du machine learning avec Spark sur un ensemble de données indépendant.

Apprentissage profond à Qubole

Nous avons vu la science des données dans Qubole jusqu'au niveau de l'apprentissage automatique classique, mais qu'en est-il du deep learning? Une façon d'accomplir un apprentissage en profondeur dans Qubole consiste à insérer des étapes Python dans vos blocs-notes qui importent des frameworks d'apprentissage en profondeur tels que TensorFlow et à les utiliser sur les ensembles de données déjà conçus avec Spark. Une autre consiste à appeler Amazon SageMaker à partir de notebooks ou d'Airflow, en supposant que votre installation Qubole s'exécute sur AWS.

La plupart de ce que vous faites dans Qubole ne nécessite pas de s'exécuter sur des GPU, mais l'apprentissage en profondeur a souvent besoin de GPU pour permettre à la formation de se terminer dans un laps de temps raisonnable. Amazon SageMaker s'occupe de cela en exécutant les étapes d'apprentissage en profondeur dans des clusters séparés, que vous pouvez configurer avec autant de nœuds et de GPU que nécessaire. Qubole propose également des clusters Machine Learning (en version bêta); sur AWS, ils permettent des nœuds de travail accélérés de type g et de type p avec des GPU Nvidia, et sur Google Cloud Platform et Microsoft Azure, ils permettent des nœuds de travail accélérés équivalents.

Boîte à outils Big Data dans le cloud

Qubole, une plateforme de données cloud native pour l'analyse et l'apprentissage automatique, vous aide à importer des ensembles de données dans un lac de données, à créer des schémas avec Hive et à interroger les données avec Hive, Presto, Quantum et Spark. Il utilise à la fois des blocs-notes et Airflow pour créer des flux de travail. Il peut également faire appel à d'autres services et utiliser d'autres bibliothèques, par exemple le service Amazon SageMaker et la bibliothèque TensorFlow Python pour l'apprentissage en profondeur.

Qubole vous aide à gérer vos dépenses cloud en contrôlant la combinaison d'instances dans un cluster, en démarrant et en mettant à l'échelle automatiquement les clusters à la demande et en arrêtant automatiquement les clusters lorsqu'ils ne sont pas utilisés. Il fonctionne sur AWS, Microsoft Azure, Google Cloud Platform et Oracle Cloud.

Dans l'ensemble, Qubole est un très bon moyen de tirer parti (ou «d'activer») votre data lake, vos bases de données isolées et vos big data. Vous pouvez tester gratuitement Qubole pendant 14 jours sur AWS, Azure ou GCP avec des exemples de données. Vous pouvez également organiser un essai gratuit complet pour un maximum de cinq utilisateurs et un mois, en utilisant votre propre compte d'infrastructure cloud et vos propres données.

-

Coût: comptes d'essai et d'essai, gratuits. Plateforme d'entreprise, 0,14 USD par QCU (Qubole Compute Unit) par heure. 

Plateforme: Amazon Web Services, Google Cloud Platform, Microsoft Azure, Oracle Cloud.