剛進公司的一段時間,需要每天與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>