Mise à disposition d'une instance sans serveur IBM Analytics Engine

Vous pouvez créer une instance de service IBM Analytics Engine sans serveur :

Notez que vous ne pouvez pas définir certains paramètres de limitation et de quota lors de la mise à disposition d'une instance sans serveur. Ces valeurs sont prédéfinies. Voir Limites et quotas des instances Analytics Engine pour obtenir la liste de ces paramètres et de leurs valeurs.

Vous devez avoir accès à IBM Cloud® us-south (Dallas) ou à la région eu-de (Frankurt).

Création d'une instance de service dans la console d'IBM Cloud

Vous pouvez créer une instance à l'aide de la console IBM Cloud. Pour comprendre les concepts de la mise à disposition dans l'IU, voir Architecture et concepts dans les instances sans serveur.

Pour créer une instance IBM Analytics Engine :

  1. Connectez-vous à la consoleIBM Cloud®.

  2. Cliquez sur Sevices et sélectionnez la catégorie Analyse.

  3. Recherchez Analytics Engine, puis cliquez sur la mosaïque pour ouvrir la page de création de l'instance de service.

  4. Choisissez l'emplacement dans lequel vous souhaitez que l'instance de service soit déployée. Actuellement, us-south et eu-de sont les seules régions prises en charge.

  5. Sélectionnez un plan. Actuellement, Standard Serverless pour Apache Spark est le seul forfait sans serveur pris en charge.

  6. Configurez l'instance en entrant un nom de votre choix, en sélectionnant un groupe de ressources et en ajoutant des étiquettes.

  7. Sélectionnez l'environnement d'exécution Spark par défaut. Spark 3.4 est la version par défaut. Par défaut, l'environnement d'exécution préinstalle les packages spatio-temporel, d'exclusion de données et de chiffrement modulaire Paquet.

  8. Dans votre compte, sélectionnez l'instance IBM Cloud Object Storage à utiliser comme instance home pour stocker des données liées à l'instance.

  9. Ajoutez des valeurs de configuration Spark pour remplacer les paramètres Apache Spark par défaut.

  10. Cliquez sur Créer pour fournir l'instance de service en arrière-plan.

    Le service nouvellement créé est listé dans votre liste de ressourcesIBM Cloud® sous *Services.

Création d'une instance de service avec l'interface de ligne de commande d'IBM Cloud

Pour créer une instance de service avec l'interface de ligne de commande d'IBM Cloud® :

  1. Téléchargez et configurez l'interface de ligne de commande d'IBM Cloud®. Suivez les instructions dans Initiation à la CLI IBM Cloud®.

  2. Fixez le point d'extrémité d'API pour votre région et connectez-vous :

    ibmcloud api https://{DomainName}
    ibmcloud login
    
  3. Obtenez la liste des groupes de ressources de votre compte et sélectionnez l'un des groupes de ressources renvoyés en tant que groupe de ressources cible dans lequel vous voulez créer l'instance IBM Analytics Engine sans serveur :

    ibmcloud resource groups
    ibmcloud target -g <resource_group_name>
    
  4. 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>
    

    Par exemple, pour la région de Dallas :

    ibmcloud resource service-instance-create MyServiceInstance ibmanalyticsengine standard-serverless-spark us-south -p @provision.json
    

    Vous 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.json contient les paramètres de mis à disposition de l'instance que vous souhaitez créer.

    Le point d'accès à votre instance IBM Cloud Object Storage dans le fichier JSON de la charge utile doit être le point d'accès 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.

    Le fichier provision.json peut se présenter comme suit. Voir Architecture et concepts dans les instances sans serveur pour la description des paramètres d'application des accès dans le contenu.

    Notez que Spark 3.4 est pris en charge. Si vous ne spécifiez pas de version d'exécution Spark par défaut lorsque vous créez une instance de service, Spark 3.4 est utilisé par défaut.

    {
      "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 operation
    

    Notez 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.

  5. Suivre l'état de préparation de l'instance.

Création d'une instance de service avec 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 à portée de main l'ID du groupe de ressources et l'ID du forfait sans serveur.

Pour créer une instance de service à l'aide de l'API REST du contrôleur de ressources :

  1. Obtenez l'ID de groupe de ressources en vous connectant à la CLI lIBM Cloud® et en exécutant la commande suivante :

    ibmcloud resource groups
    

    Exemple de résultat :

    Retrieving all resource groups under account <Account details..>
    OK
    Name      ID      Default Group   State
    Default   XXXXX   true            ACTIVE
    
  2. Utilisez l'ID de forfait de ressources suivant pour le forfait Standard Serverless for Apache Spark :

    8afde05e-5fd8-4359-a597-946d8432dd45
    
  3. Récupérez le jeton IAM en procédant comme suit.

  4. Créez une instance à l'aide de l'API REST Resource Controller :

    curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances/
    --header "Authorization: Bearer $token" -H 'Content-Type: application/json' -d @provision.json
    

    Le fichier provision.json contient les paramètres de mis à disposition 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.

    Notez que Spark 3.4 est pris en charge. Si vous ne spécifiez pas de version d'exécution Spark par défaut lorsque vous créez une instance de service, Spark 3. est utilisé par défaut.

    Le fichier provision.json peut se présenter comme suit :

    {
      "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"
              }
        }
    }
    
  5. Suivre l'état de préparation de l'instance.

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 sans serveur nouvellement créée, l'instance doit avoir l'état active.

Pour suivre l'état de préparation de l'instance :

  1. Entrez la commande suivante :
    curl -X GET https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/{instance_id} -H "Authorization: Bearer $token"
    
    Exemple de réponse :
    {
      "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
        }
      }
    }
    
  2. Vérifiez la valeur de l'attribut "state". Elle doit être active pour pouvoir démarrer des applications dans l'instance.

En savoir plus

Lors de la mise à disposition d'instances sans serveur, suivez les meilleures pratiques recommandées.