BIgQueryでテーブルに対してSELECT文を発行している人を特定するときにハマったのでメモ。
以下でユーザのメールアドレスが取得できます。
SELECT referenced_table.table_id, user_email, end_time, query, total_bytes_processed FROM `region-asia-northeast1`.INFORMATION_SCHEMA.JOBS_BY_PROJECT as base, UNNEST(referenced_tables) AS referenced_table WHERE base.project_id = 'プロジェクト名' and base.statement_type = 'SELECT' and referenced_table.table_id = 'テーブル名' order by total_bytes_processed desc ;
UNNESTを使用してreferenced_tables内の情報をwhere句で指定できるようにするのがキモです。