Topik ini menjelaskan cara menggunakan node PyODPS untuk membaca data dari tabel terpartisi.
Prasyarat
Operasi berikut telah selesai dilakukan:
MaxCompute telah diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan MaxCompute.
DataWorks telah diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan DataWorks.
Sebuah alur kerja dibuat di konsol DataWorks. Dalam contoh ini, sebuah alur kerja dibuat untuk ruang kerja DataWorks dalam mode dasar. Untuk informasi lebih lanjut, lihat Buat Alur Kerja.
Prosedur
Persiapkan data uji.
Buat tabel dan unggah data. Untuk informasi lebih lanjut, lihat Buat Tabel dan Unggah Data.
Dalam contoh ini, gunakan pernyataan pembuatan tabel dan data sumber berikut:
Pernyataan berikut membuat tabel terpartisi user_detail:
CREATE TABLE IF NOT EXISTS user_detail ( userid BIGINT COMMENT 'User ID', job STRING COMMENT 'Job type', education STRING COMMENT 'Education level' ) COMMENT 'User information table' PARTITIONED BY (dt STRING COMMENT 'Date',region STRING COMMENT 'Region');Pernyataan berikut membuat tabel data sumber user_detail_ods:
CREATE TABLE IF NOT EXISTS user_detail_ods ( userid BIGINT COMMENT 'User ID', job STRING COMMENT 'Job type', education STRING COMMENT 'Education level', dt STRING COMMENT 'Date', region STRING COMMENT 'Region' );Simpan data uji sebagai file user_detail.txt. Unggah file ini ke tabel user_detail_ods:
0001,Internet,Bachelor,20190715,beijing 0002,Education,junior college,20190716,beijing 0003,Finance,master,20190715,shandong 0004,Internet,master,20190715,beijing
Tulis data dari tabel data sumber
user_detail_odske tabel terpartisiuser_detail.Masuk ke Konsol DataWorks.
Di panel navigasi di sebelah kiri, klik Workspace.
Temukan ruang kerja target, pilih di kolom Actions.
Klik kanan alur bisnis dan pilih .
Masukkan nama node dan klik Confirm.
Masukkan kode berikut di node ODPS SQL:
INSERT OVERWRITE TABLE user_detail PARTITION (dt, region) SELECT userid, job, education, dt, region FROM user_detail_ods;Klik Run untuk menyelesaikan penulisan data.
Gunakan node PyODPS untuk membaca data dari tabel terpartisi.
Masuk ke Konsol DataWorks.
Di panel navigasi di sebelah kiri, klik Workspace.
Temukan ruang kerja target, pilih di kolom Actions.
Pada halaman Data Development, klik kanan alur bisnis yang telah dibuat dan pilih .
Masukkan nama node dan klik Confirm.
Pada tab konfigurasi node PyODPS 2, masukkan kode berikut di editor kode:
import sys from odps import ODPS reload(sys) print('dt=' + args['dt']) # Set UTF-8 sebagai format pengkodean default. sys.setdefaultencoding('utf8') # Dapatkan tabel terpartisi. t = o.get_table('user_detail') # Periksa apakah partisi yang ditentukan ada. print t.exist_partition('dt=20190715,region=beijing') # Lihat semua partisi di tabel terpartisi. for partition in t.partitions: print partition.name # Anda dapat menggunakan salah satu metode berikut untuk mengquery data di tabel terpartisi: # Metode 1 with t.open_reader(partition='dt=20190715,region=beijing') as reader1: count = reader1.count print("Query data di tabel terpartisi dengan menggunakan Metode 1:") for record in reader1: print record[0],record[1],record[2] # Metode 2 print("Query data di tabel terpartisi dengan menggunakan Metode 2:") reader2 = t.open_reader(partition='dt=20190715,region=beijing') for record in reader2: print record["userid"],record["job"],record["education"] # Metode 3 print("Query data di tabel terpartisi dengan menggunakan Metode 3:") for record in o.read_table('user_detail', partition='dt=20190715,region=beijing'): print record["userid"],record["job"],record["education"]Klik Run with Parameters.

Di kotak dialog Parameters, konfigurasikan parameter dan klik Run.
Konfigurasikan parameter berikut:
Resource Group Name: Pilih Default Resource Group.
dt: Atur menjadi dt=20190715.

Lihat hasil eksekusi node PyODPS 2 pada tab Run Log.
