Как настроить расположение контента в Dataflow Apache Beam при записи CSV в облачное хранилище GoogleJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как настроить расположение контента в Dataflow Apache Beam при записи CSV в облачное хранилище Google

Сообщение Anonymous »

У меня есть конвейер потока данных в Java, который читает из bigquery, а затем сохраняет в облачное хранилище Google файл .csv.gz (в разных шардах), все работает, fileNamePolicy и процесс в целом работает .
Проблема в том, что когда кто-то загружает файлы .csv.gz из этого csv-осколка, он добавляет к имени путь к этому файлу (ищет этот файл). это нормальное поведение облачного хранилища Google по умолчанию), поэтому, например, если вы сохраните файл CSV_SHARD_1 в корзину test_bucket/dev/20241206/CSV_SHARD_1.csv.gz, а затем загрузите этот файл, он будет иметь это имя:

Код: Выделить всё

dev-20241206-CSV_SHARD_1.csv.gz
Мне нужно, чтобы имя CSV_SHARD_1.csv.gz
Я читал, как это исправить, и это можно сделать с помощью расположение содержимого (которое находится в метаданных объектов), но я не могу найти его в документации или каких-либо примерах Apache Beam, может ли кто-нибудь помочь с этим?
Я использую Apache Beam TEXTIO для написания csv, вот пример и документация: https://cloud.google.com/dataflow/docs/ ... rite-files

Подробнее здесь: https://stackoverflow.com/questions/792 ... v-to-googl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»