La fonctionnalité Notebook d'AnalyticDB for MySQL est une plateforme interactive d'analyse et de développement de données, proposant l'édition de jobs, l'analyse de données et la visualisation de données. Cette rubrique explique comment utiliser la fonctionnalité Notebook dans Data Management (DMS) pour développer des jobs Spark SQL.
Prérequis
Vous avez créé un cluster AnalyticDB for MySQL Enterprise Edition, Basic Edition ou Data Lakehouse Edition.
Vous avez créé un groupe de ressources de job pour le cluster AnalyticDB for MySQL.
-
Vous avez créé un compte de base de données pour le cluster AnalyticDB for MySQL.
Si vous utilisez un compte Alibaba Cloud, il vous suffit de créer un compte privilégié.
Si vous utilisez un utilisateur Resource Access Management (RAM), vous devez créer un compte privilégié et un compte standard puis associer le compte standard à l'utilisateur RAM.
AnalyticDB for MySQL est autorisé à endosser le rôle AliyunADBSparkProcessingDataRole pour accéder à d'autres ressources cloud.
-
Vous avez configuré le chemin de stockage des journaux des applications Spark pour le cluster AnalyticDB for MySQL.
RemarqueConnectez-vous à la console AnalyticDB for MySQL. Recherchez le cluster à gérer et cliquez sur son ID. Dans le volet de navigation de gauche, choisissez . Cliquez sur Log Settings. Dans la boîte de dialogue qui s'affiche, sélectionnez le chemin par défaut ou spécifiez un chemin de stockage personnalisé. Vous ne pouvez pas définir le chemin de stockage personnalisé sur le répertoire racine d'OSS. Assurez-vous que le chemin de stockage personnalisé contient au moins un niveau de dossiers.
Vous avez créé un compartiment Object Storage Service (OSS) dans la même région que le cluster AnalyticDB for MySQL.
Limitations
La fonctionnalité Notebook est disponible uniquement dans les régions suivantes : .
Procédure
-
Créez un projet et accédez à l'espace de travail.
Connectez-vous à DMS 5.0.
-
Placez le pointeur sur l'icône
dans le coin supérieur gauche et choisissez .RemarqueSi vous utilisez la console DMS en mode normal, choisissez dans la barre de navigation supérieure.
Cliquez sur Create Workspace. Dans la boîte de dialogue qui s'affiche, saisissez un Workspace Name, sélectionnez une Region et cliquez sur OK.
Dans la colonne Actions de l'espace de travail cible, cliquez sur Go to Workspace.
(Facultatif) Ajouter des membres au projet. Si plusieurs utilisateurs travaillent dans l'espace de travail, effectuez cette étape pour leur attribuer différents rôles d'espace de travail.
-
Configurez l'espace de stockage du code.
Dans l'onglet Project Settings
, cliquez sur Storage Management .Configurez le chemin OSS pour Code Storage.
-
Ajoutez une ressource.
Dans l'onglet Project Settings
, cliquez sur Resource Settings.-
Cliquez sur Add Resource et configurez les paramètres de la ressource.
Paramètre
Obligatoire
Description
Resource Name
Oui
Nom de la ressource. Vous pouvez spécifier un nom personnalisé.
Resource Introduction
Oui
Description de l'utilisation prévue de la ressource. Cette valeur est personnalisable.
Image
Oui
Seule l'image Spark3,5+Python3,9 est prise en charge.
AnalyticDB Instance
Oui
ID du cluster AnalyticDB for MySQL.
RemarqueSi le cluster à gérer n'est pas affiché, vérifiez s'il est ajouté à DMS.
AnalyticDB Resource Group
Oui
Sélectionnez le groupe de ressources de job de destination.
Executor Specifications
Oui
Spécification de ressource pour les exécuteurs Spark. Cet exemple utilise la valeur par défaut, medium.
Pour plus d'informations sur les spécifications correspondant aux différents modèles, consultez la colonne Model dans Paramètres de configuration des applications Spark.
Max Executors
Min Executors
Oui
Nombre d'exécuteurs Spark.
Après avoir sélectionné l'image Spark3,5+Python3,9, Min Executors est défini sur 2 et Max Executors sur 8 par défaut.
Notebook Spec
Oui
Sélectionnez une spécification Notebook. Cet exemple utilise General_Tiny_v1 (1 cœur et 4 Go de mémoire).
VPC ID
Oui
Sélectionnez le Virtual Private Cloud (VPC) où réside le cluster AnalyticDB for MySQL afin de garantir que le Notebook peut communiquer avec le cluster.
ImportantSi vous basculez ultérieurement le cluster AnalyticDB for MySQL vers un nouveau Virtual Private Cloud (VPC) et un nouveau vSwitch, vous devez mettre à jour le VPC ID et le vSwitch ID de la ressource. Sinon, les soumissions de jobs échoueront.
Zone ID
Oui
Sélectionnez la zone où réside le cluster AnalyticDB for MySQL.
vSwitch ID
Oui
Sélectionnez le vSwitch auquel appartient le cluster AnalyticDB for MySQL.
Security group ID
Oui
Sélectionnez un groupe de sécurité disponible pour garantir que le Notebook peut communiquer avec le cluster AnalyticDB for MySQL.
Release resource
Oui
La ressource est automatiquement libérée après une période d'inactivité spécifiée.
Dependent Jars
Non
Chemin de stockage OSS du package JAR. Ce paramètre est requis uniquement pour les jobs Python utilisant un package JAR.
SparkConf
Non
Les éléments de configuration sont principalement identiques à ceux de Spark open source. Les paramètres sont au format
key: value. Pour plus d'informations sur les paramètres de configuration qui diffèrent de Spark open source et les paramètres spécifiques à AnalyticDB for MySQL, consultez Paramètres de configuration des applications Spark. Cliquez sur Save.
Dans la colonne Actions de la ressource, cliquez sur Enable.
-
Initialisez les données.
Dans le coin supérieur gauche de la console, cliquez sur l'icône
et choisissez .-
Cliquez sur +New. Dans la boîte de dialogue Add Instance, configurez les paramètres suivants :
Paramètre
Description
Data Source
Dans l'onglet Alibaba Cloud, sélectionnez OSS.
Basic Information
Files and logs
Sélectionnez OSS.
Instance Region
Sélectionnez la région où réside le cluster AnalyticDB for MySQL.
Import Method
Sélectionnez Connection String.
Connection String
Saisissez oss-cn-hangzhou.aliyuncs.com.
Bucket
Sélectionnez le nom du compartiment.
Access Mode
Mode d'accès. Cet exemple utilise Security Hosting - Manual.
AccessKey ID
AccessKey ID du compte Alibaba Cloud ou d'un utilisateur RAM disposant des autorisations nécessaires pour accéder à OSS.
Pour plus d'informations sur l'obtention d'un AccessKey ID et d'un AccessKey Secret, consultez Comptes et autorisations.
AccessKey Secret
AccessKey Secret du compte Alibaba Cloud ou d'un utilisateur RAM disposant des autorisations nécessaires pour accéder à OSS.
Pour plus d'informations sur l'obtention d'un AccessKey ID et d'un AccessKey Secret, consultez Comptes et autorisations.
Advanced Information
Paramètres facultatifs. Pour plus d'informations, consultez Informations avancées.
-
Après avoir configuré les paramètres, cliquez sur Test Connection dans le coin inférieur gauche.
RemarqueSi le test de connectivité échoue, vérifiez les informations de l'instance saisies en vous basant sur le message d'erreur.
Une fois le message Successful connection affiché, cliquez sur Submit.
Accédez à l'espace de travail et cliquez sur l'onglet
.Dans l'onglet Data Lake Data, cliquez sur Add OSS et sélectionnez le compartiment ajouté à l'étape b.
-
Créez un Notebook.
Dans l'onglet Files
, cliquez sur
et sélectionnez Notebook. -
Développez un job Spark SQL sur la page Notebook.
RemarquePour plus d'informations sur les boutons de la page Notebook, consultez Interface Notebook.
-
Exécutez la commande suivante pour télécharger les dépendances Python :
pip install delta -
Modifiez le type de cellule en SQL et exécutez l'instruction suivante pour créer une base de données.
RemarqueLa base de données db_delta créée à cette étape et la table externe
sample_datacréée à l'étape suivante sont automatiquement affichées dans AnalyticDB for MySQL. Vous pouvez ensuite analyser la tablesample_datadans la console AnalyticDB for MySQL.CREATE DATABASE db_delta LOCATION 'oss://testBucketName/db_delta/'; -- Specify the storage path for data in the db_delta database. -
Modifiez le type de cellule en Code, exécutez le code suivant pour créer la table externe
sample_dataet insérez des données dans la table. Cette action stocke les données de la table externesample_dataau chemin OSS spécifié à l'étape précédente.# -*- coding: utf-8 -*- import pyspark from delta import * from pyspark.sql.types import * from pyspark.sql.functions import * print("Starting Delta table creation") data = [ ("Robert", "Baratheon", "Baratheon", "Storms End", 48), ("Eddard", "Stark", "Stark", "Winterfell", 46), ("Jamie", "Lannister", "Lannister", "Casterly Rock", 29), ("Robert", "Baratheon", "Baratheon", "Storms End", 48), ("Eddard", "Stark", "Stark", "Winterfell", 46), ("Jamie", "Lannister", "Lannister", "Casterly Rock", 29), ("Robert", "Baratheon", "Baratheon", "Storms End", 48), ("Eddard", "Stark", "Stark", "Winterfell", 46), ("Jamie", "Lannister", "Lannister", "Casterly Rock", 29) ] schema = StructType([ StructField("firstname", StringType(), True), StructField("lastname", StringType(), True), StructField("house", StringType(), True), StructField("location", StringType(), True), StructField("age", IntegerType(), True) ]) sample_dataframe = spark.createDataFrame(data=data, schema=schema) sample_dataframe.write.format('delta').mode("overwrite").option('mergeSchema','true').saveAsTable("db_delta.sample_data") -
Modifiez le type de cellule en SQL et exécutez l'instruction suivante pour interroger les données de la table
sample_data.SELECT * FROM db_delta.sample_data;
-
-
Pour analyser la table
sample_dataavec Spark SQL dans la console AnalyticDB for MySQL, suivez ces étapes.Connectez-vous à la console AnalyticDB for MySQL. Dans le coin supérieur gauche de la console, sélectionnez une région. Dans le volet de navigation de gauche, cliquez sur Clusters. Recherchez le cluster à gérer et cliquez sur son ID.
Dans le volet de navigation de gauche, choisissez . Sélectionnez le moteur Spark et un groupe de ressources interactif.
-
Interrogez la table
sample_data.SELECT * FROM db_delta.sample_data LIMIT 1000;
Documentation connexe
Notebook (legacy) : En savoir plus sur la fonctionnalité Notebook.