Mise à disposition d'Analytics Engine
S'applique à: Moteur à étincelles
L'option d'enregistrement de moteurs Spark externes dans watsonx.data est obsolète dans cette version et sera supprimée dans la version 2.3. watsonx.data comprend déjà des moteurs Spark intégrés que vous pouvez provisionner et utiliser directement, y compris le moteur Spark accéléré par Gluten et le moteur Spark natif de watsonx.data.
Pour watsonx.data, il est recommandé d'utiliser IBM Analytics Engine Spark pour obtenir les cas d'utilisation suivants:
- Ingestion de grands volumes de données dans des tables watsonx.data. Vous pouvez également nettoyer et transformer les données avant l'ingestion.
- Opération de maintenance de la table pour améliorer les performances de la table watsonx.data
- Charge de travail d'analyse complexe difficile à représenter en tant que requêtes.
Vous pouvez créer une instance IBM Analytics Engine:
- Utilisation de la console IBM Cloud®
- En utilisant l'interface de ligne de commande d'IBM Cloud®
- En utilisant l'API REST du contrôleur de ressources
Vous devez avoir accès à IBM Cloud® us-south (Dallas) ou à la région eu-de (Francfort). Lorsque vous ajoutez une région pour la mise à disposition d'une instance Analytics Engine, choisissez une région plus proche de la région dans laquelle vous avez mis à disposition watsonx.data pour éviter les problèmes de temps d'attente des données.
Création d'une instance de service à partir de la console IBM Cloud®
Vous pouvez créer une instance en utilisant la console IBM Cloud®.
Pour créer une instance IBM Analytics Engine :
-
Connectez-vous à la consoleIBM Cloud®.
-
Cliquez sur Services et sélectionnez la catégorie Analytique.
-
Recherchez Analytics Engine et cliquez sur la tuile pour ouvrir la page de création d'une instance de service.
-
Choisissez l'emplacement le plus proche de la région dans laquelle vous avez mis à disposition watsonx.data pour le déploiement de l'instance de service. Actuellement, us-south et eu-de sont les seules régions prises en charge.
-
Sélectionnez un plan. Actuellement, Standard Serverless pour Apache Spark est le seul forfait sans serveur pris en charge.
-
Configurez l'instance en entrant un nom de votre choix, en sélectionnant un groupe de ressources et en ajoutant des étiquettes.
-
Sélectionnez la dernière version d'exécution disponible (par exemple 3.4 ). Pour les autres versions de Spark prises en charge, voir Version Spark prise en charge.
-
Sélectionnez l'instance IBM Cloud Object Storage à partir de votre compte que vous souhaitez utiliser comme Analytics Engine page d'accueil de l'instance pour stocker les données liées à l'instance.
-
Cliquez sur Créer pour fournir l'instance de service en arrière-plan.
Le service nouvellement créé est répertorié dans votre liste de ressources IBM Cloud® sous Services.
Création d'une instance de service à l'aide de l'interface de ligne de commande IBM Cloud®
Pour créer une instance de service en utilisant l'interface de ligne de commande IBM Cloud®:
-
Téléchargez et configurez l'interface de ligne de commande d'IBM Cloud®. Suivez les instructions dans Initiation à la CLI IBM Cloud®.
-
Fixez le point d'extrémité d'API pour votre région et connectez-vous :
ibmcloud api https://DOMAIN_NAME ibmcloud loginValeur du paramètre:
- DOMAIN_NAME: noeud final d'API pour votre région. Par exemple, cloud.ibm.com
-
Obtenez la liste des groupes de ressources pour votre compte et sélectionnez l'un des groupes de ressources renvoyés comme groupe de ressources cible dans lequel créer l'instance sans serveur IBM Analytics Engine:
ibmcloud resource groups ibmcloud target -g <RESOURCE_GROUP_NAME>Valeur du paramètre:
- RESOURCE_GROUP_NAME: Indiquez le même nom que celui que vous avez indiqué lors de la mise à disposition de watsonx.data pour une organisation efficace.
-
Créez une instance de service :
ibmcloud resource service-instance-create <SERVICE_INSTANCE_NAME> ibmanalyticsengine <PLAN_NAME> <REGION> -p @<PATH_to JSON file with cluster parameters>Valeur du paramètre:
- SERVICE_INSTANCE_NAME: indiquez un nom pour l'instance.
- PLAN_NAME: Indiquez le nom de plan plan_name8afde05e-5fd8-4359-a597-946d8432dd45.
- REGION: indiquez la région dans laquelle vous souhaitez mettre à disposition l'instance.
Notez qu'actuellement, standard-serverless-spark est le seul plan serverless supporté et us-south et eu-de les seules régions supportées. Choisissez celle qui est la plus proche de la région dans laquelle vous avez mis à disposition watsonx.data.
- Fichier JSON PATH_to: incluez le chemin d'accès au fichier JSON qui contient les paramètres de mise à disposition.
Par exemple, pour la région de Dallas :
ibmcloud resource service-instance-create MyServiceInstance ibmanalyticsengine standard-serverless-spark us-south -p @provision.jsonVous pouvez donner à l'instance de service le nom de votre choix. Notez qu'actuellement, standard-serverless-spark est le seul plan serverless supporté et us-south et eu-de les seules régions supportées.
Le fichier
provision.jsoncontient les paramètres de provisionnement de l'instance que vous souhaitez créer.Le noeud final de votre instance IBM Cloud® Object Storage dans le fichier JSON de contenu doit être le noeud final direct. Les points d'extrémité directs offrent de meilleures performances que les points d'extrémité publics et n'entraînent pas de frais pour la largeur de bande sortante ou entrante.
Voici un exemple de fichier provision.json.
{ "default_runtime": { "spark_version": "3.4" }, "instance_home": { "region": "us-south", "endpoint": "https://s3.direct.us-south.cloud-object-storage.appdomain.cloud", "hmac_access_key": "<your-hmac-access-key", "hmac_secret_key": "<your-hmac-secret-key" }, "default_config": { "key1": "value1", "key2": "value2" } }La réponse IBM Cloud® à la commande de création d'instance :
Creating service instance MyServiceInstance in resource group Default of account <your account name> as <your user name>... OK Service instance MyServiceInstance was created. Name: MyServiceInstance ID: crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cc7e4373bb0c9d2229f2ece5:1e32e***-afd9-483a-b1**-724ba5cf4***:: GUID: 1e32e***-afd9-483a-b1**-724ba5cf4*** Location: us-south State: provisioning Type: service_instance Sub Type: Service Endpoints: public Allow Cleanup: false Locked: false Created at: 2021-11-29T07:20:40Z Updated at: 2021-11-29T07:20:42Z Last Operation: Status create in progress Message Started create instance operationL'exemple de réponse à la commande de création d'une instance est le suivant :
Creating service instance MyServiceInstance in resource group Default of account <your account name> as <your user name>... OK Service instance MyServiceInstance was created. Name: MyServiceInstance ID: crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cc7e4373bb0c9d2229f2ece5:1e32e***-afd9-483a-b1**-724ba5cf4***:: GUID: 1e32e***-afd9-483a-b1**-724ba5cf4*** Location: us-south State: provisioning Type: service_instance Sub Type: Service Endpoints: public Allow Cleanup: false Locked: false Created at: 2021-11-29T07:20:40Z Updated at: 2021-11-29T07:20:42Z Last Operation: Status create in progress Message Started create instance operationNotez l'ID instance dans la sortie. Vous aurez besoin de l'ID instance lorsque vous appellerez la gestion des instances ou les API de gestion d'application Spark. Voir API REST de l'application Spark.
Créer une instance de service en utilisant l'API REST du contrôleur de ressources
Une instance IBM Analytics Engine sans serveur doit résider dans un groupe de ressources IBM Cloud®. Pour commencer à créer une instance sans serveur IBM Analytics Engine via l'API REST du contrôleur de ressources, vous devez avoir l'identifiant du groupe de ressources et l'identifiant du plan sans serveur à portée de main.
Pour créer une instance de service en utilisant l'API REST du contrôleur de ressources :
-
Obtenez l'ID du groupe de ressources en vous connectant au CLI de IBM Cloud® et en exécutant la commande suivante :
ibmcloud resource groupsExemple de résultat :
Retrieving all resource groups under account <Account details..> OK Name ID Default Group State Default XXXXX true ACTIVE -
Utilisez l'ID de forfait de ressources suivant pour le forfait Standard Serverless for Apache Spark :
8afde05e-5fd8-4359-a597-946d8432dd45 -
Obtenez le jeton IAM. Pour obtenir des instructions, voir les étapes.
-
Créez une instance en utilisant l'API REST du contrôleur de ressources :
curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances/ --header "Authorization: Bearer $token" -H 'Content-Type: application/json' -d @provision.jsonLe fichier provision.json contient les paramètres de provisionnement de l'instance que vous souhaitez créer. Voir Architecture et concepts dans les instances sans serveur pour la description des paramètres d'application des accès dans le contenu.
Voici un exemple du fichier
provision.json.{ "name": "your-service-instance-name", "resource_plan_id": "8afde05e-5fd8-4359-a597-946d8432dd45", "resource_group": "resource-group-id", "target": "us-south", "parameters": { "default_runtime": { "spark_version": "3.4" }, "instance_home": { "region": "us-south", "endpoint": "s3.direct.us-south.cloud-object-storage.appdomain.cloud", "hmac_access_key": "your-access-key", "hmac_secret_key": "your-secret-key" } } }
Pour plus d'informations sur l'API REST Resource Controller pour la création d'une instance, voir Créer (mettre à disposition) une nouvelle instance de ressource.
Suivi de l'état de préparation d'une instance.
Pour exécuter des applications sur une instance serverless nouvellement créée, l'instance doit être dans un état actif.
Pour suivre l'état de préparation de l'instance :
- Entrez la commande suivante :
Exemple de réponse :curl -X GET https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/{instance_id} -H "Authorization: Bearer $token"{ "id": "dc0e****-eab2-4t9e-9441-56620949****", "state": "created", "state_change_time": "2021-04-21T04:24:01Z", "default_runtime": { "spark_version": "3.4", "instance_home": { "provider": "ibm-cos", "type": "objectstore", "region": "us-south", "endpoint": "https://s3.direct.us-south.cloud-object-storage.appdomain.cloud", "bucket": "ae-bucket-do-not-delete-dc0e****-eab2-4t**-9441-566209499546", "hmac_access_key": "eH****g=", "hmac_secret_key": "4d********76" }, "default_config": { "spark.driver.memory": "4g", "spark.driver.cores": 1 } } } - Vérifier la valeur de l'attribut state. Elle doit être active avant que vous puissiez commencer à exécuter des applications dans l'instance.
En savoir plus
Lors de la mise à disposition d'instances sans serveur, suivez les meilleures pratiquesrecommandées.