Provisionando o Analytics Engine
Aplica-se a: Motor de faísca
A opção de registrar mecanismos Spark externos em watsonx.data está obsoleta nesta versão e será removida na versão 2.3. watsonx.data já inclui mecanismos Spark integrados que você pode provisionar e usar diretamente, incluindo o mecanismo Spark acelerado pelo Gluten e o mecanismo Spark nativo watsonx.data.
Para watsonx.data, é recomendado usar o IBM Analytics Engine Spark para atingir os casos de uso abaixo:
- Alimentando grandes volumes de dados nas tabelas watsonx.data. Também é possível purificar e transformar dados antes da ingestão.
- Operação de manutenção de tabela para aprimorar o desempenho do watsonx.data da tabela
- Carga de trabalho de análise complexa que é difícil representar como consultas.
É possível criar uma instância do 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
Deve-se ter acesso ao IBM Cloud® us-south (Dallas) ou à região eu-de (Frankfurt) Ao incluir uma região para fornecimento de uma instância do Analytics Engine, escolha uma que esteja mais próxima da região na qual você provisionou watsonx.data para evitar problemas de latência de dados.
Criação de uma instância de serviço no console IBM Cloud®
Você pode criar uma instância usando o console IBM Cloud®.
Para criar uma instância do IBM Analytics Engine:
-
Efetue login no IBM Cloud® console.
-
Clique em Services e selecione a categoria Analytics.
-
Pesquise Analytics Engine e clique no bloco para abrir a página de criação de instância de serviço.
-
Escolha o local mais próximo da região na qual você provisionou o watsonx.data para implementar a instância de serviço. Atualmente, us-south 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 a versão de tempo de execução mais recente disponível (por exemplo, 3.4 ). Para outras versões compatíveis do Spark, consulte Versão compatível do Spark.
-
Selecione a instância do IBM Cloud Object Storage de sua conta que você deseja usar como o Analytics Engine início da instância para armazenar dados relacionados à instância.
-
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 recursos IBM Cloud® em Services (Serviços ).
Criando uma instância de serviço usando a interface da linha de comandos IBM Cloud®
Para criar uma instância de serviço usando a interface de linha de comando 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://DOMAIN_NAME ibmcloud loginValor de parâmetro:
- DOMAIN_NAME: o terminal de API para sua região. Por exemplo, cloud.ibm.com
-
Obtenha a lista dos grupos de recursos de sua conta e selecione um dos grupos de recursos retornados como o grupo de recursos de destino no qual será criada a instância sem servidor do IBM Analytics Engine:
ibmcloud resource groups ibmcloud target -g <RESOURCE_GROUP_NAME>Valor de parâmetro:
- RESOURCE_GROUP_NAME: forneça o mesmo nome especificado ao provisionar watsonx.data para uma organização eficiente.
-
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>Valor de parâmetro:
- SERVICE_INSTANCE_NAME: Especificar um nome para a instância.
- PLAN_NAME: Especifique o nome do plano como plan_name8afde05e-5fd8-4359-a597-946d8432dd45
- REGION: especifique a região na qual você deseja provisionar a instância.
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. Escolha um que esteja mais próximo da região na qual você provisionou watsonx.data
- Arquivo JSON PATH_to: inclua o caminho no arquivo JSON que contém os parâmetros de fornecimento.
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.jsoncontém os parâmetros de provisionamento para a instância que você deseja criar.O terminal para sua instância do IBM Cloud® Object Storage no arquivo JSON de carga útil deve ser o terminal 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.
A seguir, um exemplo de arquivo 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" } }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 operationO exemplo de resposta ao 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.
Criação de uma instância de serviço usando a API REST do controlador de recursos
Uma instância serverless IBM Analytics Engine deve residir em um grupo de recursos IBM Cloud®. Como primeira etapa para criar uma instância sem servidor do IBM Analytics Engine por meio da API REST do controlador de recursos, você deve ter em mãos o ID do grupo de recursos e o ID do plano sem servidor.
Para criar uma instância de serviço usando a API REST do controlador de recursos:
-
Obtenha a ID do grupo de recursos fazendo login na CLI do site IBM Cloud® e executando o seguinte comando:
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. Para obter instruções, consulte etapas..
-
Crie uma instância usando a API 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 provisionamento 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.
Veja a seguir um exemplo do arquivo
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" } } }
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 sem servidor recém-criada, a instância deve estar no estado ativo.
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 estar ativo antes que você possa começar a executar aplicativos na instância.
Saiba mais
Ao fornecer instâncias sem servidor, siga as Melhores práticasrecomendadas.