Мы создали запрос в BigQuery, который возвращает SKU и корреляции между ними. Что-то вроде:Как сохранить порядок строк облачных хранилищ Google в сжатых файлах
sku_0,sku_1,0.023
sku_0,sku_2,0.482
sku_0,sku_3,0.328
sku_1,sku_0,0.023
sku_1,sku_2,0.848
sku_1,sku_3,0.736
В результате миллионы строк, и мы экспортировать его в Google Cloud Storage, который приводит в нескольких сжатых файлов.
Эти файлы загружаются, и у нас есть приложение Python, которое проходит через них, чтобы выполнить некоторые вычисления, используя корреляции.
Мы попытались использовать тот факт, что наши первые столбцы SKU уже заказаны и не должны применять этот заказ внутри нашего приложения.
Но тогда мы только что обнаружили, что файлы, которые мы получаем из GCS, меняют порядок, в котором появляется skus.
Похоже, что файлы создаются несколькими процессами, считывая результаты и сохраняя их в разных файлах, что нарушает порядок, который мы хотели сохранить.
В качестве примера, если у нас есть 2 файлы, созданные, первый файл будет выглядеть примерно так:
sku_0,sku_1,0.023
sku_0,sku_3,0.328
sku_1,sku_2,0.0848
И второй файл:
sku_0,sku_2,0.482
sku_1,sku_0,0.328
sku_1,sku_3,0.736
Это пример того, что он выглядит как два процесса, считывающих результаты, и каждый из них сохраняет свою текущую строку в определенном файле, который изменяет порядок столбца.
Итак, мы искали какой-то флаг, который мы могли бы использовать для принудительного сохранения заказа, но не смогли найти его до сих пор.
Есть ли способ, который мы могли бы использовать для принудительного сохранения порядка в этих файлах GCS? Или есть какое-то обходное решение?
Спасибо заранее,
Мы просто перешли на стандартный sql, и это сработало. Большое спасибо! –