Вы можете использовать row_number()
для перечисления строк:
select *
from (select e.*, e.DocumentID.DocId, D.Key, D.Value,
row_number() over (partition by date(a.creationtimestamp) order by rand()) as seqnum
from `moonoia-bpo-run.dam.events` e left join
unnest (A.metadata) D
where A.Creationtimestamp > '2018-10-01'
) e
where seqnum <= 1000
order by Creationtimestamp desc