本文為您介紹如何在PyODPS中查看一級分區。
前提條件
請提前完成如下操作:
在DataWorks上完成商務程序建立。詳情請參見建立商務程序。
操作步驟
說明
本例使用DataWorks簡單模式,建立工作空間時,預設保持參加資料開發(Data Studio)公測不開啟,公測工作空間不適用本例。
準備測試資料。
建立表並上傳資料。操作方法請參見建表並上傳資料。
表結構以及來源資料資訊如下。
分區表user_detail建表語句如下。
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 '地區');來源資料表user_detail_ods建表語句如下。
CREATE TABLE IF NOT EXISTS user_detail_ods ( userid BIGINT COMMENT '使用者id', job STRING COMMENT '工作類型', education STRING COMMENT '教育程度', dt STRING COMMENT '日期', region STRING COMMENT '地區' );測試資料儲存為user_detail.txt檔案。將此檔案上傳至表user_detail_ods中。
0001,互連網,本科,20190715,beijing 0002,教育,大專,20190716,beijing 0003,金融,碩士,20190715,shandong 0004,互連網,碩士,20190715,beijing
將來源資料表
user_detail_ods中的資料寫入分區表user_detail。登入DataWorks控制台。
在左側導覽列,單擊工作空間。
確認目標工作空間,選擇操作列中的。
按右鍵商務程序,選擇。
輸入節點名稱,並單擊確認。
在ODPS SQL節點中輸入如下代碼。
INSERT OVERWRITE TABLE user_detail PARTITION (dt, region) SELECT userid, job, education, dt, region FROM user_detail_ods;單擊運行,完成資料寫入。
使用PyODPS查看一級分區。
登入DataWorks控制台。
在左側導覽列,單擊工作空間。
確認目標工作空間,選擇操作列中的。
在資料開發頁面,按右鍵已經建立的商務程序,選擇。
輸入節點名稱,單擊確認。
在PyODPS 2節點中輸入如下代碼查看一級分區資料。
import sys reload(sys) #修改系統預設編碼。 sys.setdefaultencoding('utf8') #非同步方式讀取一級分區。 instance = o.run_sql('select * from user_detail WHERE dt=\'20190715\'') instance.wait_for_success() for record in instance.open_reader(): print record["userid"],record["job"],record["education"] #同步方式讀取一級分區。 with o.execute_sql('select * from user_detail WHERE dt=\'20190715\'').open_reader() as reader4: print reader4.raw for record in reader4: print record["userid"],record["job"],record["education"] #使用ODPS的DataFrame擷取一級分區。 pt_df = DataFrame(o.get_table('user_detail').get_partition('dt=20190715')) print pt_df.head(10)單擊運行按鈕。

在作業記錄中查看運行結果。
