Todos os produtos
Search
Central de documentação

MaxCompute:Passagem de parâmetros no PyODPS

Última atualização: Jun 26, 2026

Este tópico descreve como passar parâmetros em um nó PyODPS no DataWorks.

Pré-requisitos

Os seguintes itens são obrigatórios:

Procedimento

Nota

Este exemplo utiliza um workspace do DataWorks no modo básico. Ao criar o workspace, não selecione a opção Participate in Public Preview of Data Studio. Este exemplo não se aplica a workspaces em preview público.

  1. Prepare os dados de teste.

    1. Crie uma tabela e faça upload dos dados. Para mais informações, consulte Criar uma tabela e fazer upload de dados.

      A seguir estão os schemas das tabelas e os dados de source.

      • A instrução de criação da tabela particionada user_detail é apresentada abaixo.

        CREATE TABLE IF NOT EXISTS user_detail
        (
        userid    BIGINT COMMENT 'User ID',
        job       STRING COMMENT 'Job type',
        education STRING COMMENT 'Education'
        ) COMMENT 'User information table'
        PARTITIONED BY (dt STRING COMMENT 'Date',region STRING COMMENT 'Region');
      • A instrução para criar a tabela de source user_detail_ods é apresentada abaixo.

        CREATE TABLE IF NOT EXISTS user_detail_ods
        (
          userid    BIGINT COMMENT 'User ID',
          job       STRING COMMENT 'Job type',
          education STRING COMMENT 'Education',
          dt STRING COMMENT 'Date',
          region STRING COMMENT 'Region'
        );
      • Salve os dados de teste no arquivo user_detail.txt. Faça upload desse arquivo para a tabela user_detail_ods.

        0001,Internet,Bachelor,20190715,beijing
        0002,Education,Associate Degree,20190716,beijing
        0003,Finance,Master,20190715,shandong
        0004,Internet,Master,20190715,beijing
    2. Grave os dados da tabela de source user_detail_ods na tabela particionada user_detail.

      1. Faça login no console do DataWorks.

      2. No painel de navegação à esquerda, clique em Workspace.

      3. Localize o workspace desejado e, na coluna Actions, clique em Shortcuts > Data Development.

      4. Clique com o botão direito no workflow e escolha Create Node > ODPS SQL.

      5. Insira um nome para o nó e clique em OK.

      6. No nó ODPS SQL, insira o código a seguir.

        INSERT OVERWRITE TABLE user_detail PARTITION (dt, region) 
        SELECT userid, job, education, dt, region FROM user_detail_ods;
      7. Clique em Run para gravar os dados.

  2. Utilize o PyODPS para passar parâmetros.

    1. Faça login no console do DataWorks.

    2. No painel de navegação à esquerda, clique em Workspace.

    3. Localize o workspace desejado e, na coluna Actions, clique em Shortcuts > Data Development.

    4. Na página Data Development, clique com o botão direito no workflow criado e escolha Create Node > PyODPS 2.

    5. Insira um nome para o nó e clique em OK.

    6. No nó PyODPS 2, insira o código a seguir para passar os parâmetros.

      import sys
      reload(sys)
      print('dt=' + args['dt'])
      # Change the default system encoding.
      sys.setdefaultencoding('utf8')
      # Get the table.
      t = o.get_table('user_detail')
      # Receive the passed partition parameter.
      with t.open_reader(partition='dt=' + args['dt'] + ',region=beijing') as reader1:
          count = reader1.count
      print("Querying data from the partitioned table:")
      for record in reader1:
          print record[0],record[1],record[2]
    7. Clique em Run with Parameters.

      import sys
      reload(sys)
      print('dt=' + args['dt'])
      # Change the default system encoding.
      sys.setdefaultencoding('utf8')
      # Get the table.
      t = o.get_table('user_detail')
      # Receive the passed partition parameter.
      with t.open_reader(partition='dt=' + args['dt'] + ',region=beijing') as reader1:
          count = reader1.count
      print("Querying data from the partitioned table:")
      for record in reader1:
          print record[0],record[1],record[2]
    8. Na caixa de diálogo Parameters, configure os parâmetros e clique em Run.

      Configure os seguintes parâmetros:

      • Resource Group Name: Selecione Shared Resource Group.

      • dt: Defina como dt=20190715.

    9. Visualize os resultados da execução no Runtime Log.

      Executing user script with PyODPS 0.8.0
      dt=20190715
      Querying data from the partitioned table:
      4 Internet  Master
      1 Internet  Bachelor
      xxx xxx xxx xxx INFO ===================================================================