Todos os produtos
Search
Central de documentação

DataWorks:Desenvolvimento avançado de notebooks

Última atualização: Sep 25, 2026

Aumente a eficiência do desenvolvimento com reutilização de código, montagem de datasets e gerenciamento de parâmetros. Conecte-se a engines de computação como MaxCompute Spark, EMR Serverless Spark e AnalyticDB for Spark.

Nota

Recomendamos a leitura de Basic Notebook Development.

Diferenças entre ambientes

O DataWorks Notebook é uma ferramenta de desenvolvimento e análise agendável que opera em dois ambientes:

  • Ambiente de desenvolvimento: Ao executar uma célula na página de edição do DataWorks Notebook no DataStudio, o código roda em uma instância de ambiente de desenvolvimento pessoal para validação e depuração rápidas.

  • Ambiente de produção: Após salvar e publicar um nó do DataWorks Notebook, o agendamento periódico ou o backfill de dados aciona a execução em uma instância de tarefa isolada e efêmera, garantindo execuções estáveis e confiáveis em produção.

Considere essas diferenças ao escrever códigos que devem funcionar em ambos os ambientes.

Diferenças de recursos

Recurso

Ambiente de desenvolvimento (execução de célula)

Ambiente de produção (agendamento periódico, backfill de dados)

Referência a resources do projeto (.py)

  • Referência inicial: O resource é baixado automaticamente e entra em vigor.

  • Após atualização: Clique no botão Restart na barra de ferramentas para recarregar o módulo .py atualizado.

    Importante

    Nas configurações do DataStudio, altere a opção Dataworks › Notebook › Resource Reference: Download Strategy para autoOverwrite.

Entra em vigor automaticamente.

Leitura e gravação de datasets (OSS/NAS)

Monte o dataset no ambiente de desenvolvimento pessoal.

Monte o dataset nas configurações de agendamento.

Referência a parâmetros de workspace (${...})

Os parâmetros são substituídos automaticamente pelos respectivos valores antes da execução do código.

Os parâmetros são substituídos automaticamente pelos respectivos valores antes da execução da tarefa.

Gerenciamento de sessão Spark

A sessão Spark tem tempo limite de ociosidade de duas horas e é liberada automaticamente.

O DataWorks cria e destrói automaticamente uma sessão de curta duração para cada instância de tarefa.

Reutilize código e dados em produção

Referencie resources do projeto (arquivos .py)

Encapsule funções ou classes comuns em arquivos .py e referencie-os como resources do MaxCompute usando ##@resource_reference{"custom_name.py"}.

  1. Crie e publique um resource Python

    1. No painel de navegação à esquerda do DataStudio do DataWorks, clique em image para acessar o Resource Management.

    2. Na árvore do Resource Management, clique com o botão direito no diretório desejado ou clique em + no canto superior direito. Selecione New Resource > MaxCompute Python e nomeie o resource como my_utils.py.

    3. Na seção Document Content, clique em Online Editing, cole o código da função utilitária depurada no editor e clique em Save.

      # my_utils.py
      def greet(name):
          return f"Hello, {name} from resource file!"
    4. Na barra de ferramentas, clique em Save e depois em Publish. Isso torna o resource visível tanto para tarefas de desenvolvimento quanto de produção.

  2. Referencie o resource em um notebook

    Na primeira linha de uma célula Python no seu notebook, use a sintaxe ##@resource_reference para referenciar o resource publicado.

    ##@resource_reference{"my_utils.py"}
    # If the resource is in a directory, such as my_folder/my_utils.py, you still use ##@resource_reference{"my_utils.py"} without the directory name.
    from my_utils import greet
    message = greet('DataWorks')
    print(message)
  3. Depure e execute no ambiente de desenvolvimento

    Execute a célula Python. O seguinte resultado será impresso:

    Hello, DataWorks from resource file!
    Importante

    Ao depurar e executar no ambiente de desenvolvimento, o sistema detecta a declaração ##@resource_reference e baixa o arquivo alvo do Resource Management para workspace/_dataworks/resource_references no seu diretório pessoal.

    Se ocorrer um erro ModuleNotFoundError, clique em Restart na barra de ferramentas do editor para recarregar o resource e tente novamente.

  4. Publique no ambiente de produção e verifique

    Após Save e Publish deste nó de Notebook, acesse Operation and Maintenance Center > Auto Triggered Task e clique em Test para executá-lo. Após a execução bem-sucedida da tarefa, a saída Hello, DataWorks from resource file! aparecerá nos logs.

    Importante

    Se ocorrer um erro There is no file with id ..., certifique-se de ter publicado o resource Python no ambiente de produção primeiro.

Para mais operações, consulte MaxCompute resources and functions .

Leia e grave datasets (OSS/NAS)

Leia e grave arquivos grandes armazenados no OSS ou NAS durante a execução de tarefas do notebook.

Depuração no ambiente de desenvolvimento

  1. Monte um dataset: Acesse a página de detalhes do seu ambiente de desenvolvimento pessoal. Em Storage Settings > Datasets, configure o dataset.

  2. Acesso no código: O dataset é montado no caminho de montagem no seu ambiente de desenvolvimento pessoal. Leia ou grave diretamente nesse caminho no seu código.

    # Assume you have mounted a dataset to /mnt/data/dataset in your personal development environment.
    import pandas as pd
    # Use the mount path directly.
    file_path = '/mnt/data/dataset/testfile.csv'
    df = pd.read_csv(file_path)
    # Use PyODPS to write the data to MaxCompute.
    o = %odps
    o.write_table('mc_test_table', df, overwrite=True)
    print(f"Successfully wrote data to the MaxCompute table mc_test_table")

Implantação em produção

  1. Monte o dataset: No painel de navegação à direita do editor de nós do notebook, acesse Scheduling Settings > Scheduling Policy e adicione o mesmo dataset.

  2. Acesso no código: Após salvar e publicar o notebook, o dataset será montado no caminho de montagem no ambiente de produção. Leia ou grave diretamente nesse caminho no seu código.

    # Assume the dataset is mounted to /mnt/data/dataset in the production environment.
    import pandas as pd
    # Use the mount path directly.
    file_path = '/mnt/data/dataset/testfile.csv'
    df = pd.read_csv(file_path)
    # Use PyODPS to write the data to MaxCompute.
    o = %odps
    o.write_table('mc_test_table', df, overwrite=True)
    print(f"Successfully wrote data to the MaxCompute table mc_test_table")
Para mais operações, consulte Use datasets in a personal development environment .

Referencie parâmetros de workspace

Importante

Este recurso está disponível apenas no DataWorks Professional Edition e versões posteriores.

Além de scheduling parameters, o DataWorks oferece Parâmetros de Workspace para reutilizar configurações globais e isolar ambientes entre tarefas e nós. Referencie-os em células SQL e Python usando ${workspace.param}, onde param é o nome do parâmetro.

  1. Crie Parâmetros de Workspace: No DataWorks, acesse Operation and Maintenance Center > Scheduling Settings > Workspace Parameters para criar os parâmetros.

  2. Referencie Parâmetros de Workspace:

    • Referencie um Parâmetro de Workspace em uma célula SQL.

      SELECT '${workspace.param}';

      Quando a consulta for executada com sucesso, ela imprimirá o valor resolvido do parâmetro.

    • Referencie um Parâmetro de Workspace em uma célula Python.

      print('${workspace.param}')

      Quando o código for executado com sucesso, ele imprimirá o valor resolvido do parâmetro.

    Para mais detalhes, consulte Use workspace parameters .

Interaja com engines de computação usando comandos mágicos

Comandos mágicos (prefixo % ou %%) conectam uma célula Python a recursos de computação sem a necessidade de codificar credenciais ou detalhes de conexão.

Conexão com o MaxCompute

Nota

Antes de se conectar a um recurso de computação do MaxCompute, certifique-se de ter bound a MaxCompute compute resource.

  • %odps: Obtenha um objeto de entrada PyODPS

    Não requer AccessKey codificado.

    1. Use um comando mágico para criar uma conexão com o MaxCompute. Insira %odps. Um seletor de recursos de computação do MaxCompute aparece no canto inferior direito e seleciona automaticamente um recurso de computação. Clique em nome do projeto MaxCompute no canto inferior direito para alternar entre projetos do MaxCompute.

      o=%odps 
    2. Use o recurso de computação do MaxCompute retornado para executar um script PyODPS.

      Por exemplo, para obter todas as tabelas no projeto atual:

      with o.execute_sql('show tables').open_reader() as reader:
          print(reader.raw)
  • %maxframe: Estabeleça uma conexão MaxFrame

    Cria uma sessão MaxFrame para processamento distribuído de dados semelhante ao pandas no MaxCompute.

    # Connect to and access the MaxCompute MaxFrame session.
    mf_session = %maxframe
    df = mf_session.read_odps_table('your_mc_table')
    print(df.head())
    # After development and debugging, destroy the session to release resources.
    mf_session.destroy()

Conexão com recursos de computação Spark

O DataWorks Notebook suporta múltiplas engines Spark, cada uma com métodos de conexão, contextos de execução e ciclos de vida de recursos diferentes.

Importante

Um único nó de notebook pode se conectar a apenas um tipo de recurso de computação usando um comando mágico.

Comparação de engines

Recurso

MaxCompute Spark

EMR Serverless Spark

AnalyticDB for Spark

Comando de conexão

%maxcompute_spark

%emr_serverless_spark

%adb_spark add

Nota

Após executar o comando, o contexto de execução de todo o kernel do notebook muda para o ambiente PySpark remoto. Escreva código PySpark diretamente nas células subsequentes.

Pré-requisitos

Vincule um recurso de computação MaxCompute.

Vincule um recurso de computação EMR e crie um Livy Gateway.

Vincule um recurso de computação AnalyticDB for Spark.

Modo de ambiente de desenvolvimento

Cria ou reutiliza automaticamente uma sessão Livy.

Conecta-se a um Livy Gateway existente para criar uma sessão.

Cria ou reutiliza automaticamente um Spark Connect Server.

Modo de ambiente de produção

Modo Livy: Envia jobs Spark por meio do service Livy.

Modo batch spark-submit: Processamento em lote puro que não retém estado de sessão.

Modo Spark Connect Server: Interage por meio do service Spark Connect.

Liberação de recursos em produção

A sessão é liberada automaticamente após o término da instância da tarefa.

Os recursos são limpos automaticamente após o término da instância da tarefa.

Os recursos são liberados automaticamente após o término da instância da tarefa.

Casos de uso

Processamento em lote e tarefas ETL fortemente integrados ao ecossistema MaxCompute.

Tarefas de análise complexa que exigem configurações flexíveis e interação com o ecossistema de big data open source, como Hudi e Iceberg.

Consultas interativas e análises de alto desempenho em tabelas C-Store do AnalyticDB for MySQL.

MaxCompute Spark

Nota

Antes de se conectar a um recurso de computação MaxCompute, certifique-se de ter bound a MaxCompute compute resource.

Conecte-se à engine Spark integrada do seu projeto MaxCompute por meio do Livy.

  1. Estabeleça uma conexão: Execute o seguinte comando em uma célula Python. O sistema cria ou reutiliza automaticamente uma sessão Spark.

    # Create a Spark Session.
    %maxcompute_spark
  2. Execute código PySpark: Após estabelecer a conexão, use o cell magic %%spark para executar código PySpark em uma nova célula Python.

    # When you use MaxCompute Spark, the Python cell must start with %%spark.
    %%spark
    df = spark.sql("SELECT * FROM your_mc_table LIMIT 10")
    df.show()
  3. Libere a conexão manualmente: Após o desenvolvimento e depuração, pare ou exclua a sessão manualmente. Ao executar no ambiente de produção, o sistema para e exclui automaticamente a sessão Livy da instância da tarefa atual.

    # Clean up the Spark session and stop the Livy session.
    %maxcompute_spark stop
    # Clean up the Spark session, then stop and delete the Livy configuration.
    %maxcompute_spark delete

EMR Serverless Spark

Nota

Antes de se conectar a um recurso de computação, bind an EMR Serverless Spark compute resource no workspace e create a Livy Gateway.

Conecte-se ao EMR Serverless Spark por meio de um Livy Gateway existente.

  1. Estabeleça uma conexão: Antes de executar o comando, selecione o recurso de computação EMR e o Livy Gateway no canto inferior direito da célula.

    # Basic connection
    %emr_serverless_spark
    # Or, to pass custom Spark parameters at connection time, use two percent signs (%%).
    %%emr_serverless_spark
    {
      "spark_conf": {
        "spark.emr.serverless.environmentId": "<EMR_Serverless_Spark_runtime_environment_ID>",
        "spark.emr.serverless.network.service.name": "<EMR_Serverless_Spark_network_connection_ID>",
        "spark.driver.cores": "1",
        "spark.driver.memory": "8g",
        "spark.executor.cores": "1",
        "spark.executor.memory": "2g",
        "spark.driver.maxResultSize": "32g"
      }
    }
    Nota

    Relação entre parâmetros personalizados e configurações globais

    • Comportamento padrão: Os parâmetros personalizados definidos aqui aplicam-se apenas à sessão atual. Se você não fornecer parâmetros personalizados, o sistema usará os parâmetros globais configurados no Admin Center.

    • Uso recomendado: Para configurações que precisam ser reutilizadas em várias tarefas ou por vários usuários, recomendamos configurá-las globalmente em Admin Center > Serverless Spark > SPARK parameters para garantir consistência e simplificar o gerenciamento.

    • Regra de prioridade: Quando o mesmo parâmetro é definido tanto nos parâmetros personalizados quanto na configuração global, a opção GlobalConfiguration Priority no Admin Center determina qual configuração entra em vigor.

      • Se selecionada: A configuração global substitui os parâmetros personalizados para esta sessão.

      • Se não selecionada: Os parâmetros personalizados para esta sessão substituem a configuração global.

  2. (Opcional) Reconecte: Se um administrador excluir acidentalmente o token na página do Livy Gateway, execute o seguinte comando para recriá-lo.

    # Reconnect and refresh the Livy token for the current personal development environment.
    %emr_serverless_spark refresh_token
  3. Execute código PySpark ou SQL: Após uma conexão bem-sucedida, o kernel muda. Escreva código PySpark diretamente em uma célula Python ou escreva SQL em uma célula EMR Spark SQL.

    1. Envie e execute código SQL no recurso de computação em uma célula EMR Spark SQL

      Após estabelecer uma conexão usando %emr_serverless_spark, escreva instruções SQL diretamente em uma célula EMR Spark SQL sem selecionar um recurso de computação na célula.

      A célula EMR Spark SQL reutiliza a conexão de %emr_serverless_spark e envia o código para o recurso de computação alvo para execução.

      INSERT INTO employees VALUES
          (6, 'Fiona', 'Engineering', 98000.0),
          (7, 'George', 'Sales', 77000.0),
          (8, 'Hannah', 'Marketing', 72000.0),
          (9, 'Ian', 'Engineering', 105000.0),
          (10, 'Julia', 'HR', 68000.0);
    2. Envie e execute código PySpark no recurso de computação usando Python

      Após estabelecer uma conexão usando %emr_serverless_spark, envie e execute código PySpark em uma nova célula Python. Não é necessário adicionar o prefixo %%spark na célula.

      df = spark.sql("SELECT * FROM employees;")
      df.show()
      +---+-------+-----------+--------+
      | id|   name| department|  salary|
      +---+-------+-----------+--------+
      |  1|  Alice|Engineering| 95000.0|
      |  2|    Bob|  Marketing| 75000.0|
      |  3|Charlie|Engineering|110000.0|
      |  4|  Diana|         HR| 70000.0|
      |  5|   Evan|      Sales| 80000.0|
      |  6|  Fiona|Engineering| 98000.0|
      |  7| George|      Sales| 77000.0|
      |  8| Hannah|  Marketing| 72000.0|
      |  9|    Ian|Engineering|105000.0|
      | 10|  Julia|         HR| 68000.0|
      +---+-------+-----------+--------+
  4. Libere a conexão manualmente

    Importante

    Se vários usuários compartilharem um Livy Gateway, o comando stop ou delete afetará todos os usuários que estão usando o gateway. Use esses comandos com cautela.

    # Clean up the Spark session and stop the Livy session.
    %emr_serverless_spark stop
    # Clean up the Spark session, then stop and delete the Livy configuration.
    %emr_serverless_spark delete

AnalyticDB for Spark

Nota

Antes de se conectar ao recurso de computação, bind an AnalyticDB for Spark compute resource no workspace.

Conecte-se a uma engine AnalyticDB for Spark criando um Spark Connect Server.

  1. Estabeleça uma conexão: Para garantir a conectividade de rede, configure corretamente o ID do vSwitch e o ID do grupo de segurança nos parâmetros de conexão. Antes de executar o comando, selecione o recurso de computação ADB Spark no canto inferior direito da célula.

    # You must configure the vSwitch ID and security group ID to establish a network connection.
    %adb_spark add \
     --spark-conf spark.adb.version=3.5 \
     --spark-conf spark.adb.eni.enabled=true \
     --spark-conf spark.adb.eni.vswitchId=<vSwitch_ID_of_ADB> \
     --spark-conf spark.adb.eni.securityGroupId=<security_group_id_of_your_personal_development_environment>

    Como encontrar o ID do vSwitch e o ID do grupo de segurança

    • ID do vSwitch (vswitchId): Acesse o console do AnalyticDB for MySQL da Alibaba Cloud. Na página de detalhes da instância, encontre o vSwitch ID na seção Network Information.

    • ID do grupo de segurança (securityGroupId): Acesse a página de detalhes do seu ambiente de desenvolvimento pessoal. Na seção Network Settings, encontre o ID do seu Security Group selecionado, que começa com sg-.

      Importante

      Para garantir a conectividade de rede, recomendamos selecionar a mesma VPC e vSwitch da sua instância AnalyticDB for Spark ao criar um ambiente de desenvolvimento pessoal.

  2. Execute código PySpark: Após a conexão bem-sucedida, execute código PySpark em uma nova célula Python.

    # You can run operations only on C-Store tables.
    df = spark.sql("SELECT * FROM my_adb_cstore_table LIMIT 10")
    df.show()
    Nota : A engine AnalyticDB for Spark atualmente pode processar apenas tabelas C-Store que possuem o atributo 'storagePolicy'='COLD' .
  3. Libere a conexão manualmente: Após a depuração, limpe manualmente a sessão de conexão para economizar recursos. Em produção, os recursos são limpos automaticamente.

    %adb_spark cleanup

Conexão com um recurso de computação Lindorm Ray

O grupo de recursos Ray da engine de computação Lindorm fornece computação distribuída para workloads de IA de ponta a ponta. Use-o para desenvolvimento interativo em notebooks e, em seguida, publique como uma tarefa de produção agendada.

Antes de começar, conclua as seguintes etapas.

  • Ao adquirir uma instância Lindorm, selecione Yes para Enable Compute Engine.

  • Adicione seu Lindorm cluster como um recurso de computação do DataWorks. Para mais informações, consulte Bind a Lindorm compute resource.

  • Enable a Ray resource group para o seu cluster no console Lindorm. Ao criar o grupo de recursos, especifique a imagem correta em Advanced Settings para garantir um ambiente consistente.

    Como configuro a imagem do grupo de recursos Ray?

    Ao criar um grupo de recursos Ray no console Lindorm, encontre Advanced Settings e insira o seguinte conteúdo JSON. Substitua region no endereço da imagem pela região onde seu cluster Lindorm está localizado. Por exemplo, substitua beijing por shanghai.

    {
      "IMAGE": "spark-repo-beijing-registry-vpc.cn-beijing.cr.aliyuncs.com/lindorm-compute/ray:2.39.0-0.7.0-py311-cpu"
    }
  • Seu ambiente de desenvolvimento pessoal e grupo de recursos serverless devem estar na mesma VPC do seu cluster Lindorm para garantir a conectividade de rede.

  1. Estabeleça uma conexão: Execute o comando mágico %lindorm_ray em uma célula Python. Após executar o comando, um seletor de recursos de computação aparece no canto inferior direito da célula. Selecione seu recurso de computação Lindorm e o grupo de recursos Ray criado.

    # Connect to the specified Lindorm Ray resource group.
    %lindorm_ray
    Importante
    • Após se conectar a um recurso de computação Lindorm Ray, não é mais possível executar células SQL no mesmo notebook. A engine Lindorm Ray foca na execução de código Python e Ray.

    • Se a mesma célula de código for executada várias vezes, o sistema encerra automaticamente o job Ray anterior e inicia um novo. Isso evita desperdício de recursos e conflitos de tarefas.

  2. Execute código Ray: Após uma conexão bem-sucedida, escreva e execute código Ray diretamente em uma nova célula Python. Os logs são transmitidos para a área de saída da célula em tempo real para depuração interativa.

    O exemplo a seguir define uma tarefa remota simples usando o decorador @ray.remote. A tarefa é executada no cluster Ray, e os logs e o resultado final são retornados para a área de saída da célula.

    import ray
    import time
    @ray.remote
    def hello_world():
      print("Hello from Lindorm Ray!")
      time.sleep(5)
      return "Task finished."
    # Submit the remote task.
    result_ref = hello_world.remote()
    print(ray.get(result_ref))
  3. (Opcional) Especifique parâmetros de inicialização personalizados: Para definir configurações adicionais para o ambiente Ray, como instalar pacotes Python de terceiros ou enviar arquivos de código locais, use %%lindorm_ray para estabelecer a conexão.

    • Exemplo 1: Instalar dependências

      Use o parâmetro pip para instalar o pacote jieba no ambiente Ray.

      %%lindorm_ray
      {
        "runtime_env": {
          "pip": ["jieba"]
        }
      }

      Após o ambiente estar pronto, importe e use o pacote nas tarefas Ray subsequentes. O exemplo a seguir mostra como chamar jieba em uma função remota para segmentação de palavras em chinês:

      import ray 
      @ray.remote
      def do_work(x):
          import jieba
          return "/".join(jieba.cut(x))
      print(ray.get(do_work.remote("Welcome to the DataWorks LindormRay solution")))
    • Exemplo 2: Enviar e usar resources do DataWorks

      Use o parâmetro working_dir para enviar resources do Resource Management para o cluster Ray para importação em suas tarefas.

      Importante
      • Ao usar working_dir para enviar resources, os arquivos são enviados diretamente do seu ambiente de desenvolvimento para o cluster Ray. Aplica-se um limite de tamanho de 100 MB. Se o pacote de resources for muito grande, o envio pode falhar ou o nó Ray pode ficar instável.

      • Para resources ou dependências grandes (acima de 100 MB), envie-os para o OSS e baixe do OSS no seu código, ou empacote-os em uma imagem personalizada para melhor estabilidade e desempenho.

      # Reference and declare the path for a resource from Resource Management.
      %%lindorm_ray
      {
          "runtime_env": {
              "working_dir": "/mnt/workspace/_dataworks/resource_references"
          }
      }

      Suponha que você tenha enviado um arquivo chamado ray_resource.py para o Resource Management no DataWorks. Ao executar a seguinte célula, o sistema analisa a declaração ##@resource_reference e baixa o resource correspondente para /mnt/workspace/_dataworks/resource_references.

      Código de exemplo em ray_resource.py:

      def fun():
          print("This is a test function in ray_resource.py")
      Importante

      No ambiente de desenvolvimento, após executar a célula que contém ##@resource_reference, execute novamente a célula %%lindorm_ray anterior. Executar novamente esta célula inclui os resources baixados no working_dir e os envia para o cluster Ray. Não é necessário executar novamente a célula no ambiente de produção.

      import ray 
      ##@resource_reference{"ray_resource.py"}
      @ray.remote
      def do_work(x):
          print('Ray says:', x)
          from ray_resource import fun
          fun()
          return x
      worker = do_work.remote("Welcome to the DataWorks LindormRay solution")
      print(ray.get(worker))
  4. Agendamento e O&M de produção: Após o desenvolvimento e depuração, salve e publique este nó de notebook. Ele será agendado periodicamente como um nó Lindorm Ray em um DAG.

    • Parametrização: Seu código pode usar parâmetros de agendamento padrão do DataWorks, como ${bizdate}.

    • Visualização de logs: Em produção, o sistema carrega apenas o primeiro 1 MB de logs por padrão para evitar problemas de desempenho. Se os logs forem truncados, a saída fornece um link para visualizar os logs completos da tarefa no console Lindorm.

    • Liberação de recursos: Após o término de uma tarefa de produção agendada, a tarefa Lindorm Ray entra em um estado terminal e libera recursos. Durante o desenvolvimento interativo, encerre a tarefa reiniciando o kernel ou fechando o notebook.

Apêndice: Referência rápida de comandos mágicos

Comando mágico

Descrição

Engine de computação

o = %odps

Obtém um objeto de entrada PyODPS.

MaxCompute

mf_session = %maxframe

Estabelece uma conexão MaxFrame.

%maxcompute_spark

Cria uma sessão Spark.

MaxCompute Spark

%maxcompute_spark stop

Limpa a sessão Spark e para a sessão Livy.

%maxcompute_spark delete

Limpa a sessão Spark, depois para e exclui a configuração Livy.

%%spark

Em uma célula Python, conecta-se a um recurso de computação Spark existente.

%emr_serverless_spark

Cria uma sessão Spark.

EMR Serverless Spark

%emr_serverless_spark info

Visualiza os detalhes do Livy Gateway.

%emr_serverless_spark stop

Limpa a sessão Spark e para a sessão Livy.

%emr_serverless_spark delete

Limpa a sessão Spark, depois para e exclui a configuração Livy.

%emr_serverless_spark refresh_token

Atualiza o token Livy para o ambiente de desenvolvimento pessoal.

%adb_spark add

Cria e conecta-se a uma sessão ADB Spark reutilizável.

AnalyticDB for Spark

%adb_spark info

Visualiza informações da sessão Spark.

%adb_spark cleanup

Para e limpa a sessão de conexão Spark atual.

%lindorm_ray

Estabelece uma conexão Lindorm Ray.

Lindorm Ray

%%lindorm_ray

Estabelece uma conexão Lindorm Ray e configura um ambiente de execução personalizado, como instalar dependências ou enviar código.

Perguntas frequentes

  • P: Por que recebo um erro ModuleNotFoundError ou There is no file with id ... ao referenciar um resource do workspace?

    R: Verifique o seguinte:

    • Acesse Data Development > Resource Management e certifique-se de que o resource Python do MaxCompute esteja salvo. Se esse erro ocorrer no ambiente de produção, confirme que o resource também foi publicado.

    • Clique em Restart na barra de ferramentas do editor de Notebook para recarregar o resource.

  • P: Após atualizar um resource do workspace, por que o Notebook ainda usa a versão antiga?

    R: Nas configurações do DataStudio, defina DataWorks › Notebook › Resource Reference: Download Strategy como autoOverwrite e, em seguida, clique em Restart Kernel na barra de ferramentas do Notebook.

  • P: Por que recebo um FileNotFoundError no ambiente de desenvolvimento ao referenciar um dataset?

    R: Certifique-se de que o dataset esteja montado no ambiente de desenvolvimento pessoal selecionado.

  • P: A referência a um dataset funciona no ambiente de desenvolvimento, mas falha no ambiente de produção com o erro Execute mount dataset exception! Please check your dataset config.

    R: Certifique-se de que o dataset esteja montado nas Scheduling Settings do nó de Notebook e que o dataset OSS tenha sido autorizado.

    Na área de configuração do dataset, se uma mensagem vermelha "The current DataWorks resource group is not authorized" aparecer abaixo da lista suspensa do dataset, clique em Confirm Authorization à direita para conceder as permissões.

  • P: Como verifico a versão do meu ambiente de desenvolvimento pessoal?

    R: No seu ambiente de desenvolvimento pessoal, pressione CMD+SHIFT+P e insira "ABOUT" para visualizar a versão atual. Se um recurso exigir a versão 0.5.69 ou posterior, use a opção One-click Upgrade no prompt de atualização exibido.

  • P: Por que a conexão com a engine Spark falha?

    R: Siga estas etapas para solucionar o problema:

    • Verificações gerais: Na página de detalhes do workspace, acesse a lista de recursos de computação. Certifique-se de que o recurso de computação (MaxCompute, EMR ou ADB) esteja vinculado ao workspace e que sua conta tenha as permissões necessárias.

    • EMR Serverless Spark: Verifique se o Livy Gateway foi criado e está funcionando corretamente.

    • AnalyticDB for Spark: Concentre-se na solução de problemas de rede. Certifique-se de que vswitchId e securityGroupId estejam configurados corretamente e que exista conectividade de rede entre o ambiente de desenvolvimento pessoal e a instância AnalyticDB for Spark. Verifique as regras do grupo de segurança para garantir que elas permitam comunicação nas portas necessárias.