0

Comment créer un fichier compressé dans GCS via les jobs Google dataflow?Google Cloud Dataflow TextIO écrit-il dans un fichier .gz?

Je ne suis pas en mesure de spécifier le type de compression. Si la fonctionnalité n'est pas déjà présente, existe-t-il un moyen plus simple de générer un fichier compressé à partir de la requête de Google BigQuery?

Répondre

4

Vous voudrez utiliser TextIO pour écrire dans des fichiers (pour une vue d'ensemble de toutes les transformations d'E/S intégrées, regardez here).

Vous pouvez voir un exemple dans le code here:

PCollection<String> lines = ...; 
lines.apply(TextIO.write().to("/path/to/file.txt") 
    .withSuffix(".txt") 
    .withWritableByteChannelFactory(FileBasedSink.CompressionType.GZIP)); 

Edit: vous pouvez également exporter une table de BigQuery dans un fichier gzip directement à partir de l'interface graphique: enter image description here

+0

Malheureusement, Dataflow de Google ne fournit pas .withWritableByteChannelFactory() – Sandeep

+0

Quel SDK utilisez-vous exactement? Mise à jour du code au-dessus de BTW. –

+0

com.google.cloud.dataflow: google-nuage-dataflow-java-sdk-all: 1.9.0 – Sandeep