La plantilla de conversión del formato de archivo es una canalización por lotes que convierte los archivos almacenados en Cloud Storage de un formato compatible a otro.
Se admiten las siguientes conversiones de formato:
- De CSV a Avro
- De CSV a Parquet
- De Avro a Parquet
- De Parquet a Avro
Requisitos de la canalización
- El bucket de Cloud Storage de salida debe existir antes de ejecutar la canalización.
Parámetros de la plantilla
Parámetro | Descripción |
---|---|
inputFileFormat |
Formato de archivo de entrada. Debe ser una de las siguientes opciones: [csv, avro, parquet] . |
outputFileFormat |
Formato de archivo de salida. Debe ser una de las siguientes opciones: [avro, parquet] . |
inputFileSpec |
El patrón de ruta de acceso de Cloud Storage para archivos de entrada. Por ejemplo, gs://bucket-name/path/*.csv |
outputBucket |
Carpeta de Cloud Storage para escribir archivos de salida. Esta ruta de acceso debe terminar con una barra diagonal.
Por ejemplo, gs://bucket-name/output/ |
schema |
Es la ruta de acceso de Cloud Storage al archivo de esquema de Avro. Por ejemplo, gs://bucket-name/schema/my-schema.avsc . |
containsHeaders |
Los archivos CSV de entrada contienen un registro de encabezado (verdadero/falso) (opcional). El valor predeterminado es false . Solo se requiere cuando se leen los archivos CSV. |
csvFormat |
Especificación de formato CSV para usar en el análisis de registros (opcional). El valor predeterminado es Default .
Consulta Formato CSV de Apache Commons para obtener más detalles. |
delimiter |
Delimitador del campo que usan los archivos CSV de entrada (opcional). |
outputFilePrefix |
El prefijo del archivo de salida (opcional). El valor predeterminado es output . |
numShards |
La cantidad de fragmentos de archivos de salida (opcional). |
Ejecuta la plantilla
- Ve a la página Crear un trabajo a partir de una plantilla de Dataflow. Ir a Crear un trabajo a partir de una plantilla
- En el campo Nombre del trabajo, ingresa un nombre de trabajo único.
- Opcional: Para Extremo regional, selecciona un valor del menú desplegable. La región predeterminada es
us-central1
.Para obtener una lista de regiones en las que puedes ejecutar un trabajo de Dataflow, consulta Ubicaciones de Dataflow.
- En el menú desplegable Plantilla de Dataflow, selecciona the Convert file formats template.
- En los campos de parámetros proporcionados, ingresa los valores de tus parámetros.
- Haga clic en Ejecutar trabajo.
En tu shell o terminal, ejecuta la plantilla:
gcloud dataflow flex-template runJOB_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
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Google Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasREGION_NAME
: La región en la que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket gs://dataflow-templates-REGION_NAME/latest/- el nombre de la versión, como
2023-09-12-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket gs://dataflow-templates-REGION_NAME/
INPUT_FORMAT
: Es el formato de archivo del archivo de entrada debe ser uno de[csv, avro, parquet]
.OUTPUT_FORMAT
: Es el formato de archivo de los archivos de salida. Debe ser uno de[avro, parquet]
.INPUT_FILES
: Es el patrón de ruta para archivos de entrada.OUTPUT_FOLDER
: Es tu carpeta de Cloud Storage para archivos de salida.SCHEMA
: Es la ruta de acceso al archivo de esquema de Avro.
Para ejecutar la plantilla con la API de REST, envía una solicitud POST HTTP. Para obtener más información de la API y sus permisos de autorización, consulta 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", } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Google Cloud en el que deseas ejecutar el trabajo de Dataflow.JOB_NAME
: Es el nombre del trabajo que elijasLOCATION
: La región en la que deseas implementar tu trabajo de Dataflow, por ejemplo,us-central1
VERSION
: Es la versión de la plantilla que deseas usar.Puedes usar los siguientes valores:
latest
para usar la última versión de la plantilla, que está disponible en la carpeta superior non-dated en el bucket gs://dataflow-templates-REGION_NAME/latest/- el nombre de la versión, como
2023-09-12-00_RC00
, para usar una versión específica de la plantilla, que se puede encontrar anidada en la carpeta superior con fecha correspondiente en el bucket gs://dataflow-templates-REGION_NAME/
INPUT_FORMAT
: Es el formato de archivo del archivo de entrada debe ser uno de[csv, avro, parquet]
.OUTPUT_FORMAT
: Es el formato de archivo de los archivos de salida. Debe ser uno de[avro, parquet]
.INPUT_FILES
: Es el patrón de ruta para archivos de entrada.OUTPUT_FOLDER
: Es tu carpeta de Cloud Storage para archivos de salida.SCHEMA
: Es la ruta de acceso al archivo de esquema de Avro.
Código fuente de la plantilla
¿Qué sigue?
- Obtén información sobre las plantillas de Dataflow.
- Consulta la lista de plantillas que proporciona Google.