All Products
Search
Document Center

MaxCompute:PyODPS参数传递

Last Updated:Jun 21, 2026

Artikel ini menjelaskan cara melakukan passing parameter PyODPS di DataWorks.

Prasyarat

Lakukan langkah-langkah berikut terlebih dahulu:

Langkah-langkah Operasional

Catatan

Contoh ini menggunakan mode sederhana DataWorks. Saat membuat workspace, pastikan opsi 参加数据开发(Data Studio)公测 tetap dalam keadaan tidak diaktifkan. Contoh ini tidak berlaku untuk workspace yang mengikuti program uji coba (beta).

  1. Siapkan data uji.

    1. Buat tabel dan unggah data. Untuk petunjuknya, lihat Create a table and upload data.

      Struktur tabel dan informasi data sumber adalah sebagai berikut.

      • Skrip pembuatan tabel partisi user_detail adalah sebagai berikut.

        CREATE TABLE IF NOT EXISTS user_detail
        (
        userid    BIGINT COMMENT '用户id',
        job       STRING COMMENT '工作类型',
        education STRING COMMENT '教育程度'
        ) COMMENT '用户信息表'
        PARTITIONED BY (dt STRING COMMENT '日期',region STRING COMMENT '地区');
      • Skrip pembuatan tabel data sumber user_detail_ods adalah sebagai berikut.

        CREATE TABLE IF NOT EXISTS user_detail_ods
        (
          userid    BIGINT COMMENT '用户id',
          job       STRING COMMENT '工作类型',
          education STRING COMMENT '教育程度',
          dt STRING COMMENT '日期',
          region STRING COMMENT '地区'
        );
      • Data uji disimpan dalam file user_detail.txt. Unggah file ini ke tabel user_detail_ods.

        0001,互联网,本科,20190715,beijing
        0002,教育,大专,20190716,beijing
        0003,金融,硕士,20190715,shandong
        0004,互联网,硕士,20190715,beijing
    2. Tuliskan data dari tabel sumber user_detail_ods ke tabel partisi user_detail.

      1. Login ke DataWorks Console.

      2. Pada panel navigasi kiri, klik Workspace.

      3. Konfirmasi ruang kerja target, lalu pada kolom Actions, pilih 快速进入 > Data Development.

      4. Klik kanan pada alur kerja, lalu pilih Create Node > ODPS SQL.

      5. Masukkan nama node, lalu klik OK.

      6. Masukkan kode berikut ke dalam node ODPS SQL.

        INSERT OVERWRITE TABLE user_detail PARTITION (dt, region) 
        SELECT userid, job, education, dt, region FROM user_detail_ods;
      7. Klik Run untuk menyelesaikan penulisan data.

  2. Lakukan passing parameter menggunakan PyODPS.

    1. Login ke DataWorks Console.

    2. Pada panel navigasi kiri, klik Workspace.

    3. Pastikan workspace target telah dipilih, lalu pilih 快速进入 > Data Development pada kolom Actions.

    4. Pada halaman Data Development, klik kanan pada alur kerja yang telah dibuat, lalu pilih Create Node > PyODPS 2.

    5. Masukkan nama node, lalu klik OK.

    6. Masukkan kode berikut ke dalam node PyODPS 2 untuk mengimplementasikan passing parameter.

      import sys
      reload(sys)
      print('dt=' + args['dt'])
      # Ubah encoding default sistem.
      sys.setdefaultencoding('utf8')
      # Dapatkan tabel.
      t = o.get_table('user_detail')
      # Terima parameter partisi yang masuk.
      with t.open_reader(partition='dt=' + args['dt'] + ',region=beijing') as reader1:
          count = reader1.count
      print("Kueri data tabel partisi:")
      for record in reader1:
          print record[0],record[1],record[2]
    7. Klik Run with Parameters.

      import sys
      reload(sys)
      print('dt=' + args['dt'])
      # Ubah encoding default sistem
      sys.setdefaultencoding('utf8')
      # Dapatkan tabel
      t = o.get_table('user_detail')
      # Terima parameter partisi yang masuk
      with t.open_reader(partition='dt=' + args['dt'] + ',region=beijing') as reader1:
          count = reader1.count
      print("Kueri data tabel partisi: ")
      for record in reader1:
          print record[0],record[1],record[2]

    8. Isi parameter konfigurasi pada dialog Parameters, lalu klik Run.

      Penjelasan konfigurasi parameter sebagai berikut:

      • Resource Group Name: Pilih Shared Resource Group.

      • dt: Atur menjadi dt=20190715.

    9. Lihat hasil eksekusi di Runtime Log.

      Executing user script with PyODPS 0.8.0
      dt=20190715
      查询分区表数据:
      4 互联网  硕士
      1 互联网  本科
      xxx xxx xxx xxx INFO ===================================================================