Fornecendo uma instância serverless IBM Analytics Engine
É possível criar uma instância de serviço serverless IBM Analytics Engine:
- Usando o console IBM Cloud
- Usando a interface da linha de comandos do IBM Cloud
- Usando a API de REST do Controlador de Recursos
Note que não é possível definir certas configurações de limitação e cota no fornecimento de uma instância serverless. Esses valores são predefinidos. Consulte Limites e cotas para instâncias Analytics Engine para obter uma lista dessas configurações e seus valores.
Deve-se ter acesso à região IBM Cloud® us-south (Dallas) ou eu-de (Frankurt).
Criando uma instância de serviço a partir do console do IBM Cloud
É possível criar uma instância usando o console IBM Cloud. Para entender os conceitos por trás das configurações de fornecimento na IU, consulte Arquitetura e conceitos em instâncias serverless.
Para criar uma instância do IBM Analytics Engine:
-
Faça login no IBM Cloud® console.
-
Clique em Serviços e selecione a categoria Analítica.
-
Procure por
Analytics Enginee, em seguida, clique sobre o ladrilho para abrir a página de criação da instância de serviço. -
Escolha o local no qual deseja que a instância de serviço seja implementada. Atualmente, nós-sul e eu-de são as únicas regiões suportadas.
-
Selecione um plano. Atualmente, Standard Serverless for Apache Spark é o único plano serverless suportado.
-
Configure a instância inserindo um nome de sua escolha, selecionando um grupo de recursos e incluindo tags.
-
Selecione o tempo de execução padrão do Spark. O Spark 3.4 é o padrão. Por padrão, o tempo de execução pré-instala pacotes de tempo e espaço, pacotes para ignorar dados e pacotes de criptografia modular do Parquet.
-
Selecione a instância IBM Cloud Object Storage da conta que você deseja usar como o
instance homepara armazenar dados relacionados à instância. -
Inclua valores de configuração do Spark para substituir configurações padrão do Apache Spark.
-
Clique em Criar para provisionar a instância de serviço em segundo plano.
O serviço recém-criado é listado em sua lista de recursosIBM Cloud® em *Services.
Criando uma instância de serviço usando a interface da linha de comandos do IBM Cloud
Para criar uma instância de serviço usando a interface da linha de comandos do IBM Cloud®:
-
Faça o download da CLI do IBM Cloud® e configure-a. Siga as instruções em Introdução à CLI do IBM Cloud®.
-
Configure o terminal da API para sua região e efetue login:
ibmcloud api https://{DomainName} ibmcloud login -
Obtenha a lista dos grupos de recursos para sua conta e selecione um dos grupos de recursos retornados como o grupo de recursos de destino no qual será criada a instância serverless IBM Analytics Engine:
ibmcloud resource groups ibmcloud target -g <resource_group_name> -
Crie uma instância de serviço:
ibmcloud resource service-instance-create <service_instance_name> ibmanalyticsengine <plan_name> <region> -p @<path_to JSON file with cluster parameters>Por exemplo, para a região de Dallas:
ibmcloud resource service-instance-create MyServiceInstance ibmanalyticsengine standard-serverless-spark us-south -p @provision.jsonVocê pode dar à instância de serviço qualquer nome que escolher. Observe que, atualmente, o plano standard-serverless-spark é o único plano serverless compatível e as regiões us-south e eu-de são as únicas regiões compatíveis.
O arquivo provision.json contém os parâmetros de fornecimento para a instância que você deseja criar.
O endpoint para sua instância IBM Cloud Object Storage no arquivo JSON de carga útil deve ser o endpoint direto. Os endpoints diretos oferecem melhor desempenho do que os endpoints públicos e não incorrem em cobranças por nenhuma largura de banda de entrada ou saída.
Isso é uma amostra do que o arquivo provision.json pode parecer. Consulte Arquitetura e conceitos em instâncias serverless para obter uma descrição dos parâmetros de fornecimento na carga útil.
Observe que há suporte para o Spark 3.4. Se você não especificar uma versão padrão do tempo de execução do Spark ao criar uma instância de serviço, o Spark 3.4 será usado por padrão.
{ "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" } }A resposta do IBM Cloud® para o comando create 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 operationAnote o ID da instância a partir da saída. Você precisará do ID da instância ao chamar APIs de gerenciamento de instância ou de gerenciamento de aplicativos Spark. Consulte API de REST do aplicativo Spark.
Criando uma instância de serviço usando a API de REST do Controlador de Recursos
Uma instância serverless IBM Analytics Engine deve residir em um grupo de recursos IBM Cloud®. Como primeiro passo para a criação de uma instância serverless IBM Analytics Engine por meio da API de REST do Controlador de recursos, é necessário ter o ID do grupo de recursos e o ID do plano serverless à mão.
Para criar uma instância de serviço usando a API de REST do Controlador de recursos:
-
Obtenha o ID do grupo de recursos efetuando login na CLI do IBM Cloud® e executando o comando a seguir:
ibmcloud resource groupsResultado da amostra:
Retrieving all resource groups under account <Account details..> OK Name ID Default Group State Default XXXXX true ACTIVE -
Use o ID do plano de recursos a seguir para o plano Standard Serverless for Apache Spark:
8afde05e-5fd8-4359-a597-946d8432dd45 -
Obtenha o token do IAM executando as etapas a seguir.
-
Crie uma instância usando a API de REST do Controlador de recursos:
curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances/ --header "Authorization: Bearer $token" -H 'Content-Type: application/json' -d @provision.jsonO arquivo provision.json contém os parâmetros de fornecimento para a instância que você deseja criar. Consulte Arquitetura e conceitos em instâncias serverless para obter uma descrição dos parâmetros de fornecimento na carga útil.
Observe que há suporte para o Spark 3.4. Se você não especificar uma versão padrão do tempo de execução do Spark ao criar uma instância de serviço, o Spark 3. será usado por padrão.
Isso é uma amostra do que o arquivo provision.json pode parecer:
{ "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" } } }
Para obter mais informações sobre a API de REST do Controlador de recursos para a criação de uma instância, consulte Criar (provisionar) uma nova instância de recurso.
Rastreando a preparação da instância
Para executar aplicativos em uma instância serverless recém-criada, a instância deve estar no estado active.
Para rastrear a preparação da instância:
- Insira o comando a seguir:
Resposta de amostra: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 } } } - Verifique o valor do atributo
"state". Ele deve seractivepara que seja possível começar a executar aplicativos na instância.
Saiba mais
Ao provisionar instâncias de serverless, siga o recomendado Melhores práticas.