Todos os produtos
Search
Central de documentação

DataWorks:Desenvolvimento avançado de notebooks

Última atualização: Jul 05, 2026

Este guia aborda como aumentar a eficiência do desenvolvimento por meio de práticas de engenharia, como reutilização de código, montagem de datasets e gerenciamento de parâmetros. Também apresenta melhores práticas e técnicas de depuração para conexão com motores de computação como MaxCompute Spark, EMR Serverless Spark e AnalyticDB for Spark.

Nota

Recomendamos a leitura prévia do tópico Desenvolvimento básico de notebooks.

Ambientes de desenvolvimento e produção

O DataWorks Notebook é uma ferramenta de desenvolvimento e análise agendável. Isso significa que ele opera em dois ambientes de execução distintos:

  • Ambiente de desenvolvimento: Na página de edição do nó de notebook no DataStudio, execute células para executar código diretamente em uma instância do ambiente de desenvolvimento pessoal. Este ambiente serve para validação rápida e depuração da lógica do código.

  • Ambiente de produção: Após salve e publicar um nó de notebook, o agendamento periódico, o backfill de dados ou ações similares acionam sua execução. O código roda em uma instância de tarefa isolada e efêmera. Este ambiente destina-se a execuções de produção estáveis e confiáveis.

Compreender as diferenças significativas de recursos entre esses dois ambientes é fundamental para um desenvolvimento eficiente.

Referência rápida: ambientes de desenvolvimento versus produção

Recurso

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

Ambiente de produção (execuções agendadas)

Referência a recursos do projeto (.py)

  • Referência inicial: Baixe automático e aplicação imediata.

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

    Importante

    Nas configurações do DataStudio, defina Dataworks › Notebook › Resource Reference: Download Strategy como autoOverwrite para lidar com conflitos de recursos.

Aplicação automática.

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

Monte o dataset no ambiente de desenvolvimento pessoal.

Monte o dataset na configuração de agendamento.

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

Suportado. A substituição de texto ocorre automaticamente antes da execução do código.

Suportado. A substituição de texto ocorre automaticamente antes da execução da tarefa.

Gerenciamento de sessão Spark

Por padrão, a sessão Spark é liberada automaticamente após 2 horas de inatividade.

Uma sessão de curta duração é criada para cada instância de tarefa e destruída junto com ela.

Reutilize código e dados em produção

Referencie recursos do projeto (arquivos .py)

Para tornar seu código mais modular, reutilizável e fácil de manter, agrupe funções ou classes comuns em arquivos .py independentes. Em seguida, referencie esses arquivos como recursos do MaxCompute usando a sintaxe ##@resource_reference{"custom_name.py"}.

  1. Crie e publique um recurso Python

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

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

    3. Na seção Document Content, clique em Online Editing, cole o código da sua função utilitária no editor de código 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 para publicar o recurso. Isso torna o recurso disponível para tarefas nos ambientes de desenvolvimento e produção.

  2. Referencie o recurso em um notebook

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

    ##@resource_reference{"my_utils.py"}
    # If the resource is in a subdirectory, such as my_folder/my_utils.py, reference it by filename only, without the directory path: ##@resource_reference{"my_utils.py"}
    from my_utils import greet
    
    message = greet('DataWorks')
    print(message)
  3. Depure no ambiente de desenvolvimento

    Execute a célula Python. A saída será:

    Hello, DataWorks from resource file!
    Importante

    Durante a depuração no ambiente de desenvolvimento, o sistema detecta a declaração ##@resource_reference e baixe automaticamente o arquivo correspondente do Resource Management para o caminho workspace/_dataworks/resource_references no seu diretório pessoal, tornando-o acessível ao seu código.

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

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

    Após clique em Save e Publish no nó de notebook, acesse Operation and Maintenance Center > Auto Triggered Task e clique em Test para executar a tarefa. Após a conclusã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 ..., verifique se você publicou o recurso Python no ambiente de produção.

Para mais informações, consulte Recursos e funções do MaxCompute .

Leia e grave datasets (OSS/NAS)

Durante a execução das tarefas do notebook, leia e grave facilmente em arquivos de grande escala armazenados no OSS ou NAS.

Depuração no ambiente de desenvolvimento

  1. Monte o dataset: Na página de detalhes do seu ambiente de desenvolvimento pessoal, acesse Storage Settings > Datasets para configurá-lo.

  2. Acesse o dataset no seu código: O dataset é montado em um caminho específico no seu ambiente de desenvolvimento pessoal. Leia ou grave nesse caminho diretamente no seu código.

    # Assume the dataset is mounted to the /mnt/data/dataset path.
    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 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 no ambiente de produção

  1. Monte o dataset: Na página de edição do nó de notebook, acesse Scheduling Settings > Scheduling Policy no painel de navegação à direita e adicione o mesmo dataset.

  2. Acesse o dataset no seu código: Após salve e publicar o nó, o dataset é montado no ambiente de produção. Use o mesmo caminho de montagem no seu código para acessá-lo.

    # Assume the dataset is mounted to the /mnt/data/dataset path.
    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 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 informações, consulte Uso de datasets em um ambiente de desenvolvimento pessoal .

Use parâmetros do workspace

Importante

Este recurso está disponível apenas no DataWorks Professional Edition ou superior.

O DataWorks fornece parâmetros de workspace, que estendem os parâmetros de agendamento existentes. Esses parâmetros permitem a reutilização de configurações globais e o isolamento de ambiente entre tarefas e nós. Referencie um parâmetro do workspace em uma célula SQL ou Python usando o formato ${workspace.param}, onde param é o nome do seu parâmetro de workspace.

  1. Crie um parâmetro de workspace: Antes de começar, acesse Operation and Maintenance Center > Scheduling Settings > Workspace Parameters no DataWorks para crie os parâmetros necessários.

  2. Referencie um parâmetro de workspace:

    • Referencie um parâmetro de workspace em uma célula SQL.

      SELECT '${workspace.param}';

      Ao executar a célula, o valor resolvido do parâmetro de workspace é impresso.

    • Referencie um parâmetro de workspace em uma célula Python.

      print('${workspace.param}')

      Ao executar a célula, o valor resolvido do parâmetro de workspace é impresso.

    Para mais detalhes, consulte Uso de parâmetros de workspace .

Use comandos mágicos com motores de computação

Comandos mágicos são comandos especiais prefixados com % ou %% que simplificam as interações entre uma célula Python e vários recursos de computação.

Conecte-se ao MaxCompute

Nota

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

  • %odps: Obtenha um objeto de entrada PyODPS

    Este comando retorna um objeto PyODPS autenticado e vinculado ao projeto atual do MaxCompute. Recomendamos este método para interagir com o MaxCompute porque evita a codificação fixa de AccessKeys no seu código.

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

      o=%odps 
    2. Use o recurso de computação do MaxCompute recuperado 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

    Este comando cria uma sessão MaxFrame, que fornece capacidades de processamento de dados distribuído semelhantes ao pandas para o MaxCompute.

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

Conecte-se a recursos de computação Spark

O DataWorks Notebook suporta conexões com múltiplos motores Spark. Esses motores diferem no método de conexão, contexto de execução e gerenciamento de recursos.

Importante

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

Comparação de motores

Recurso

MaxCompute Spark

EMR Serverless Spark

AnalyticDB for Spark

Comando

%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. Você pode então escrever código PySpark diretamente nas células subsequentes.

Pré-requisitos

Vincule um recurso de computação do MaxCompute.

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

Vincule um recurso de computação do ADB Spark.

Modo de desenvolvimento

Cria ou reutiliza automaticamente uma sessão Livy.

Conecta-se a um Livy Gateway existente e cria uma sessão.

Cria ou reutiliza automaticamente um Spark Connect Server.

Modo de produção

Modo Livy: Envie jobs Spark através do serviço Livy.

Modo batch spark-submit: Processamento puramente em lote; o estado da sessão não é retido.

Modo Spark Connect Server: Interage através do serviço de conexão Spark.

Liberação de recursos

O sistema libera automaticamente a sessão após o término da instância da tarefa.

O sistema limpa automaticamente os recursos após o término da instância da tarefa.

O sistema libera automaticamente os recursos após o término da instância da tarefa.

Casos de uso

Tarefas de processamento em lote e ETL de uso geral, fortemente integradas ao ecossistema MaxCompute.

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

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

MaxCompute Spark

Nota

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

Conecte-se ao motor Spark integrado a um projeto MaxCompute através do Livy.

  1. Estabeleça a 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 comando mágico de célula %%spark em uma nova célula Python para executar código PySpark.

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

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

EMR Serverless Spark

Nota

Antes de estabelecer uma conexão com o recurso de computação, vincule um recurso de computação do EMR Serverless Spark ao seu workspace e crie um Livy Gateway.

Conecte-se a um Livy Gateway pré-existente para interagir com o EMR Serverless Spark.

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

    # Basic connection
    %emr_serverless_spark
    
    # Or, pass custom Spark parameters when connecting. Note that two percent signs (%%)
    # are required when you pass custom Spark parameters.
    %%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ção global

    • Comportamento padrão: Os parâmetros personalizados definidos aqui aplicam-se apenas à conexão atual (sessão) e são únicos. Se você não fornecer parâmetros personalizados, o sistema usa 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, configure-as 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 configuração que entra em vigor depende da opção Configuration Priority Global no Admin Center.

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

      • Não selecionado: Os parâmetros personalizados para esta sessão substituem a configuração global.

  2. (Opcional) Reconecte: Se um administrador exclua acidentalmente o token da página do Livy Gateway, use este 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 estabelecer a conexão, 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 via célula EMR Spark SQL

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

      A célula EMR Spark SQL reutiliza a conexão %emr_serverless_spark para envie o job ao recurso de computação alvo para execução.

      image

    2. Envie e execute código PySpark via célula Python

      Após estabelecer uma conexão com %emr_serverless_spark, envie e execute código PySpark em uma nova célula Python. Você não precisa adicionar o prefixo %%spark à célula.

      image

  4. Libere manualmente a conexão

    Importante

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

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

AnalyticDB for Spark

Nota

Antes de estabelecer uma conexão com o recurso de computação, vincule um recurso de computação do AnalyticDB for Spark ao seu workspace.

Conecte-se ao motor 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 do 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 the personal development environment>

    Como encontro 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, visualize o vSwitch ID em Network Information.

    • ID do Grupo de Segurança (securityGroupId): Acesse Network Settings na página de detalhes do seu ambiente de desenvolvimento pessoal para encontrar o ID do Security Group selecionado. O ID é aquele que começa com sg-.

      Importante

      Para garantir a conectividade de rede, recomendamos que você selecione a mesma VPC e o mesmo vSwitch da sua instância do AnalyticDB for Spark ao crie seu ambiente de desenvolvimento pessoal.

  2. Execute código PySpark: Após estabelecer a conexão, 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 : O motor AnalyticDB for Spark atualmente pode processar apenas tabelas C-Store que possuem o atributo 'storagePolicy'='COLD' .
  3. Libere manualmente a conexão: Após concluir a depuração no ambiente de desenvolvimento, limpe manualmente a sessão de conexão para economizar recursos. Ao executar no ambiente de produção, o sistema limpa os recursos automaticamente.

    %adb_spark cleanup

Conecte-se ao Lindorm Ray

O grupo de recursos RAY do motor de computação Lindorm fornece serviços de computação distribuída e suporta cargas de trabalho de IA ponta a ponta. Use um comando mágico para se conectar perfeitamente aos recursos do Lindorm Ray em um notebook para desenvolvimento e depuração interativos e, em seguida, publique o notebook como uma tarefa de produção agendada.

Pré-requisitos

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

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

  • No console do Lindorm, ative um grupo de recursos RAY para o seu cluster. Ao crie o grupo de recursos, certifique-se de especifique a imagem correta em Advanced Settings para garantir um ambiente consistente.

    Como configuro a imagem do grupo de recursos Ray?

    Ao crie um grupo de recursos RAY no console do Lindorm, localize 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"
    }
  • Certifique-se de que seu ambiente de desenvolvimento pessoal, a configuração de rede do grupo de recursos Serverless e o cluster Lindorm estejam na mesma VPC para garantir a conectividade de rede.

  1. Estabeleça uma conexão: Execute o comando %lindorm_ray em uma célula Python. Um seletor de recursos de computação aparece no canto inferior direito da célula. Selecione seu recurso de computação do Lindorm e o grupo de recursos RAY criado.

    # Connect to the specified Lindorm Ray resource group.
    %lindorm_ray
    Importante
    • Após conectar-se a um recurso de computação do Lindorm Ray, você não pode mais executar células SQL no mesmo notebook. O motor Lindorm Ray executa exclusivamente código Python e Ray.

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

  2. Execute código Ray: Após estabelecer a conexão, 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, o que facilita a depuração interativa.

    O exemplo a seguir define uma tarefa remota simples (usando o decorador @ray.remote) que executa em um cluster Ray e retorna os logs e o resultado final 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: Se precisar especifique configurações adicionais para o ambiente Ray, como instale pacotes Python de terceiros ou carregar arquivos de código locais, use o comando %%lindorm_ray para estabelecer a conexão.

    • Exemplo 1: Instalar dependências

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

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

      Assim que o ambiente estiver pronto, importe e use o pacote nos jobs Ray subsequentes. O exemplo a seguir mostra como chamar jieba em uma função remota para realizar 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: Carregar e usar recursos do DataWorks

      O parâmetro working_dir serve para carregar recursos do Resource Management do DataWorks para um cluster Ray para que possam ser importados e chamados nas tarefas.

      Importante
      • Ao usar working_dir para carregar recursos, os arquivos são carregados diretamente do seu ambiente de desenvolvimento para o cluster Ray e estão sujeitos a um limite de tamanho de 100 MB. Se um pacote de recursos for muito grande, o upload pode falhar ou os nós Ray podem ficar instáveis.

      • Para arquivos grandes ou dependências (>100 MB), carregue-os no OSS e acesse-os pelo seu código, ou empacote-os em uma imagem personalizada. Essa abordagem oferece melhor estabilidade e desempenho.

      # Reference a resource uploaded in DataStudio Resource Management and declare its path.
      %%lindorm_ray
      {
          "runtime_env": {
              "working_dir": "/mnt/workspace/_dataworks/resource_references"
          }
      }

      Suponha que você carregue um arquivo ray_resource.py no Resource Management do DataStudio. Ao escrever e executar a seguinte célula, o sistema analisa automaticamente a declaração ##@resource_reference no código subsequente e baixe o recurso correspondente para o caminho /mnt/workspace/_dataworks/resource_references.

      Código de exemplo para ray_resource.py:

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

      Em um ambiente de desenvolvimento, após executar a célula que contém ##@resource_reference, execute novamente a célula %%lindorm_ray acima para carregar os recursos baixados no working_dir para o cluster Ray. Em um ambiente de produção, não é necessário executar novamente.

      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 a depuração, salve e publique o nó de notebook. Ele será então 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: No ambiente de produção, para evitar que logs excessivos afetem o desempenho, o sistema carrega apenas o primeiro 1 MB de logs por padrão. Se os logs forem truncados, a saída inclui um link que direciona você ao console do Lindorm para visualize os logs completos da tarefa.

    • 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 não ocupa mais recursos. Durante o desenvolvimento interativo, encerre a tarefa Lindorm Ray reiniciando o kernel ou fechando o notebook.

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

Comando mágico

Descrição

Motor de computação

o = %odps

Obter um objeto de entrada PyODPS

MaxCompute

mf_session = %maxframe

Estabelecer uma conexão MaxFrame

%maxcompute_spark

Criar uma sessão Spark

MaxCompute Spark

%maxcompute_spark stop

Limpar a sessão Spark e parar o Livy.

%maxcompute_spark delete

Limpar a sessão Spark, parar e exclua o Livy.

%%spark

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

%emr_serverless_spark

Criar uma sessão Spark

EMR Serverless Spark

%emr_serverless_spark info

Visualize informações detalhadas sobre o Livy Gateway.

%emr_serverless_spark stop

Limpar a sessão Spark e parar o Livy.

%emr_serverless_spark delete

Limpar a sessão Spark, parar e exclua o Livy.

%emr_serverless_spark refresh_token

Atualize o token Livy para o ambiente de desenvolvimento pessoal.

%adb_spark add

Criar e conectar-se a uma sessão ADB Spark reutilizável.

AnalyticDB for Spark

%adb_spark info

Visualize informações da sessão Spark.

%adb_spark cleanup

Parar e limpar a sessão de conexão Spark atual.

%lindorm_ray

Estabelecer uma conexão Lindorm Ray.

Lindorm Ray

%%lindorm_ray

Estabelecer uma conexão Lindorm Ray e configure um ambiente de execução personalizado, como instalando dependências ou carregando código.

Perguntas frequentes

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

    R: Siga estas etapas para solucionar o problema:

    • Acesse Data Development > Resource Management para garantir que o recurso Python do MaxCompute foi salvo. Se esse erro ocorrer no ambiente de produção, verifique se o recurso foi publicado nele.

    • Na barra de ferramentas do editor de Notebook, clique em Restart para recarregar o recurso.

  • P: Por que os recursos antigos ainda são referenciados após eu atualize os recursos do workspace?

    R: Ao republicar um recurso modificado, defina Dataworks › Notebook › Resource Reference: Download Strategy como autoOverwrite nas configurações do Data Studio e, em seguida, clique em Restart Kernel na barra de ferramentas do Notebook.

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

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

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

    R: Certifique-se de que o dataset está montado nas Scheduling Settings do nó de Notebook e que você concedeu as permissões necessárias ao dataset do OSS.

    image

  • 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 visualize a versão atual. Se for necessária uma atualização para a versão 0.5.69 ou posterior, um prompt de upgrade aparecerá. Clique em One-click Upgrade para atualize sua instância.

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

    R: Siga estas etapas:

    • Verificações gerais: Na lista de recursos de computação da página de detalhes do workspace, confirme se o recurso de computação alvo (MaxCompute, EMR ou ADB) está corretamente vinculado ao seu workspace e se sua conta possui as permissões necessárias.

    • EMR Serverless Spark: Verifique se o Livy Gateway existe e está íntegro.

    • AnalyticDB for Spark: Concentre-se em problemas de rede. Confirme se vswitchId e securityGroupId estão configurados corretamente para garantir a conectividade de rede entre seu ambiente de desenvolvimento pessoal e a instância do ADB Spark. Verifique se as regras do seu grupo de segurança permitem tráfego nas portas necessárias.