2016-08-10 2 views
1

Я хотел бы создать отсортированный CSV-экспорт большой таблицы BigQuery в Google Cloud Storage. В настоящее время для этого мы начинаем с несортированной таблицы, затем делаем SELECT * FROM table ORDER BY col1, col2 в другую таблицу, а затем экспортируем эту таблицу в GCS. Это хорошо работает, поскольку экспорт, похоже, использует порядок вставки второй таблицы.Как я могу произвести сортированный экспорт большой таблицы BigQuery?

Однако ORDER BY имеет ограничения, как обсуждалось here и here. Мы получаем страшные «Ресурсы, превышаемые во время выполнения запроса». когда мы пробуем это на достаточно большой таблице.

Есть ли другой способ выполнить это?

ответ

2

Гарантии на поставку данных не гарантируется. Я бы предложил экспортировать таблицу, а затем отсортировать ее с помощью других методов, как описано в https://unix.stackexchange.com/questions/120096/how-to-sort-big-files.

Поскольку мы говорим о большом экспорте, вы можете предварительно разделить данные перед экспортом (например, по году), чтобы помочь алгоритму внешней сортировки.