All Products
Search
Document Center

MaxCompute:Membaca Data Tabel Terpartisi dengan PyODPS

Last Updated:Jun 21, 2026

Artikel ini menjelaskan cara membaca data dari tabel terpartisi menggunakan PyODPS.

Prasyarat

Anda harus menyelesaikan langkah-langkah berikut:

Langkah-langkah Operasional

Catatan

Contoh ini menggunakan mode sederhana DataWorks. Saat membuat ruang kerja, opsi 参加数据开发(Data Studio)公测 tidak diaktifkan secara default. Ruang kerja beta publik tidak berlaku untuk contoh ini.

  1. Siapkan data pengujian.

    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 terpartisi 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 sumber data 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 pengujian disimpan dalam file user_detail.txt. Unggah file ini ke dalam tabel user_detail_ods.

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

      1. Login ke Konsol DataWorks.

      2. Pada panel navigasi kiri, klik Workspace.

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

      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. Gunakan PyODPS untuk membaca data tabel terpartisi.

    1. Login ke Konsol DataWorks.

    2. Pada panel navigasi kiri, klik Workspace.

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

    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 membaca data tabel terpartisi.

      import sys
      from odps import ODPS
      reload(sys)
      print('dt=' + args['dt'])
      # Ubah encoding default sistem.
      sys.setdefaultencoding('utf8')
      # Kredensial informasi pribadi.
      t = o.get_table('user_detail')
      # Dapatkan tabel terpartisi.
      print t.exist_partition('dt=20190715,region=beijing')
      # Lihat semua partisi.
      for partition in t.partitions:
          print partition.name
      # Anda dapat mengakses data tabel terpartisi dengan tiga cara berikut.
      # Cara pertama sebagai berikut.
      with t.open_reader(partition='dt=20190715,region=beijing') as reader1:
          count = reader1.count
      print("Cara pertama mengakses data tabel terpartisi:")
      for record in reader1:
          print record[0],record[1],record[2]
      # Cara kedua sebagai berikut.
      print("Cara kedua mengakses data tabel terpartisi:")
      reader2 = t.open_reader(partition='dt=20190715,region=beijing')
      for record in reader2:
          print record["userid"],record["job"],record["education"]
      # Cara ketiga sebagai berikut.
      print("Cara ketiga mengakses data tabel terpartisi:")
      for record in o.read_table('user_detail', partition='dt=20190715,region=beijing'):
          print record["userid"],record["job"],record["education"]
    7. Klik Run with Parameters.

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

      Penjelasan parameter konfigurasi 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
      True
      dt='20190715',region='beijing'
      dt='20190715',region='shandong'
      dt='20190716',region='beijing'
      Cara pertama mengakses data tabel terpartisi:
      4 互联网 硕士
      1 互联网 本科
      Cara kedua mengakses data tabel terpartisi:
      4 互联网 硕士
      1 互联网 本科
      Cara ketiga mengakses data tabel terpartisi:
      4 互联网 硕士
      1 互联网 本科