Le modèle de conversion de format de fichier est un pipeline par lots qui convertit les fichiers stockés sur Cloud Storage d'un format compatible à un autre.
Les conversions entre les formats suivants sont possibles :
- CSV vers Avro
- CSV vers Parquet
- Avro vers Parquet
- Parquet vers Avro
Conditions requises pour ce pipeline
- Le bucket Cloud Storage de sortie doit exister avant l'exécution du pipeline.
Paramètres de modèle
Paramètre | Description |
---|---|
inputFileFormat |
Format de fichier d'entrée. Doit être l'un des suivants : [csv, avro, parquet] . |
outputFileFormat |
Format de fichier de sortie. Doit être l'un des suivants : [avro, parquet] . |
inputFileSpec |
Modèle de chemin d'accès Cloud Storage pour les fichiers d'entrée. Par exemple : gs://bucket-name/path/*.csv |
outputBucket |
Dossier Cloud Storage dans lequel écrire les fichiers de sortie. Le chemin d'accès doit se terminer par une barre oblique.
Par exemple : gs://bucket-name/output/ |
schema |
Chemin d'accès Cloud Storage au fichier de schéma Avro. Par exemple, gs://bucket-name/schema/my-schema.avsc |
containsHeaders |
(Facultatif) Les fichiers CSV d'entrée contiennent un enregistrement d'en-tête (vrai/faux). La valeur par défaut est false . Nécessaire uniquement en cas de lecture de fichiers CSV. |
csvFormat |
(Facultatif) Spécification du format CSV à utiliser pour l'analyse des enregistrements. La valeur par défaut est Default .
Pour en savoir plus, consultez la page Format CSV Apache Commons. |
delimiter |
(Facultatif) Délimiteur de champ utilisé dans les fichiers CSV d'entrée. |
outputFilePrefix |
(Facultatif) Préfixe du fichier de sortie. La valeur par défaut est output . |
numShards |
(Facultatif) Nombre de segments de fichiers de sortie. |
Exécuter le modèle
Console
- Accédez à la page Dataflow Créer un job à partir d'un modèle. Accéder à la page Créer un job à partir d'un modèle
- Dans le champ Nom du job, saisissez un nom de job unique.
- Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. La région par défaut est
us-central1
.Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter un job Dataflow, consultez la page Emplacements Dataflow.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Convert file formats template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- Cliquez sur Run Job (Exécuter la tâche).
gcloud
Dans le shell ou le terminal, exécutez le modèle :
gcloud dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/File_Format_Conversion \ --parameters \ inputFileFormat=INPUT_FORMAT,\ outputFileFormat=OUTPUT_FORMAT,\ inputFileSpec=INPUT_FILES,\ schema=SCHEMA,\ outputBucket=OUTPUT_FOLDER
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google Cloud dans lequel vous souhaitez exécuter le job DataflowJOB_NAME
: nom de job unique de votre choixREGION_NAME
: région dans laquelle vous souhaitez déployer votre job Dataflow, par exempleus-central1
VERSION
: version du modèle que vous souhaitez utiliserVous pouvez utiliser les valeurs suivantes :
latest
pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates-REGION_NAME/latest/- Le nom de la version, par exemple
2023-09-12-00_RC00
, pour utiliser une version spécifique du modèle, qui est imbriqué dans le dossier parent daté respectif dans le bucket : gs://dataflow-templates-REGION_NAME/
INPUT_FORMAT
: format du fichier d'entrée (doit être l'un des suivants :[csv, avro, parquet]
)OUTPUT_FORMAT
: format des fichiers de sortie (doit être l'un des suivants :[avro, parquet]
)INPUT_FILES
: modèle de chemin d'accès pour les fichiers d'entréeOUTPUT_FOLDER
: dossier Cloud Storage pour les fichiers de sortieSCHEMA
: chemin d'accès au fichier de schéma Avro
API
Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API, ses autorisations et leurs champs d'application, consultez la section projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "inputFileFormat": "INPUT_FORMAT", "outputFileFormat": "OUTPUT_FORMAT", "inputFileSpec": "INPUT_FILES", "schema": "SCHEMA", "outputBucket": "OUTPUT_FOLDER" }, "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/File_Format_Conversion", } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google Cloud dans lequel vous souhaitez exécuter le job DataflowJOB_NAME
: nom de job unique de votre choixLOCATION
: région dans laquelle vous souhaitez déployer votre job Dataflow, par exempleus-central1
VERSION
: version du modèle que vous souhaitez utiliserVous pouvez utiliser les valeurs suivantes :
latest
pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates-REGION_NAME/latest/- Le nom de la version, par exemple
2023-09-12-00_RC00
, pour utiliser une version spécifique du modèle, qui est imbriqué dans le dossier parent daté respectif dans le bucket : gs://dataflow-templates-REGION_NAME/
INPUT_FORMAT
: format du fichier d'entrée (doit être l'un des suivants :[csv, avro, parquet]
)OUTPUT_FORMAT
: format des fichiers de sortie (doit être l'un des suivants :[avro, parquet]
)INPUT_FILES
: modèle de chemin d'accès pour les fichiers d'entréeOUTPUT_FOLDER
: dossier Cloud Storage pour les fichiers de sortieSCHEMA
: chemin d'accès au fichier de schéma Avro
Étape suivante
- Apprenez-en plus sur les modèles Dataflow.
- Consultez la liste des modèles fournis par Google.