天天看點

利用PyODPS 擷取項目的元資訊

剛進公司的一段時間,需要每天與ODPS資料表打交道。限于團隊中文檔梳理有限,是以通過PyODPS制作了3張元資訊表:<code>meta_tables</code>、<code>meta_fields</code>、<code>meta_instances</code>,供自己及團隊同學使用。其中,主要利用了<code>odps.list_tables()</code>和<code>odps.list_instances()</code>。

<code>meta_tables</code>:分區表,每天定時對全部資料表進行更新。可用于項目下表容量盤查、舊表名單拉取、人員貢獻統計。

字段

類型

注釋

tbl_name

string

表名

tbl_comment

表注釋

tbl_owner

作者

tbl_pt_name

(如果是分區表)分區名

tbl_ddl_tm

datetime

最近建立時間

tbl_mod_tm

最近更新時間

etl_tm

ETL時間

pt

按日期分區

<code>meta_fields</code>:分區表,每天定時對近24小時有過表結構修改的表進行更新。可用于字段類型、注釋是否一緻的校驗。

fld_name

字段名

fld_type

字段類型

fld_comment

字段注釋

按表名分區

<code>meta_instances</code>:分區表,每天定時周遊00:00~06:00執行個體。可用于表間血緣關系提取、執行個體耗時統計。

ins_name

執行個體名

start_tm

開始時間

end_tm

結束時間

cost_tm

bigint

總耗時(秒)

status

執行個體狀态

ins_owner

tsk_name

子任務

tbl_in

輸入表(以,分割)

tbl_out

輸出表(以,分割)

<code>get_table_meta.py</code>

<code>get_field_meta.py</code>

<code>get_instance_meta.py</code>