Я боролся с вопросом, который кажется простым, но ускользает от меня.Я имею дело с общедоступной таблицей BigQuery для биткойнов, и я хотел бы извлечь первую транзакцию из каждого добытого блока.Другими словами, чтобы заменить вложенное поле его первой строкой, как это показано в предварительном просмотре таблицы.Нет поля, которое может идентифицировать его, только порядок, в котором он был сохранен в таблице.
Я выполнил следующий запрос :
#StandardSQL
SELECT timestamp,
block_id,
FIRST_VALUE(transactions) OVER (ORDER BY (SELECT 1))
FROM `bigquery-public-data.bitcoin_blockchain.blocks`
Но этообрабатывает 492 ГБ при запуске и выдает следующую ошибку:
Error: Resources exceeded during query execution: The query could not be executed in the allotted memory. Sort operator used for OVER(ORDER BY) used too much memory..
Кажется, все так просто, что-то мне не хватает.У вас есть идея, как справиться с такой задачей?