Template Konversi Format File adalah pipeline batch yang mengonversi file yang disimpan di Cloud Storage dari satu format yang didukung ke format lainnya.
Konversi format berikut didukung:
- CSV ke Avro
- CSV ke Parquet
- Avro ke Parquet
- Parquet ke Avro
Persyaratan pipeline
- Bucket Cloud Storage output harus ada sebelum menjalankan pipeline.
Parameter template
| Parameter | Deskripsi |
|---|---|
inputFileFormat |
Format file input. Harus berupa salah satu dari [csv, avro, parquet]. |
outputFileFormat |
Format file output. Harus berupa salah satu dari [avro, parquet]. |
inputFileSpec |
Pola jalur Cloud Storage untuk file input. Contoh, gs://bucket-name/path/*.csv |
outputBucket |
Folder Cloud Storage untuk menulis file output. Jalur ini harus diakhiri dengan garis miring.
Contoh, gs://bucket-name/output/ |
schema |
Jalur Cloud Storage ke file skema Avro. Contoh, gs://bucket-name/schema/my-schema.avsc |
containsHeaders |
(Opsional) File CSV input berisi rekaman header (benar/salah). Nilai defaultnya adalah false. Hanya diperlukan saat membaca file CSV. |
csvFormat |
(Opsional) Spesifikasi format CSV yang akan digunakan untuk mengurai data. Nilai defaultnya adalah Default.
Lihat Format CSV Apache Commons
untuk mengetahui detail selengkapnya. |
delimiter |
(Opsional) Pembatas kolom yang digunakan oleh file CSV input. |
outputFilePrefix |
(Opsional) Awalan file output. Nilai defaultnya adalah output. |
numShards |
(Opsional) Jumlah shard file output. |
Menjalankan template
Konsol
- Buka halaman Dataflow Membuat tugas dari template. Buka Membuat tugas dari template
- Di kolom Nama tugas, masukkan nama tugas yang unik.
- Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region default-nya adalah
us-central1.Untuk mengetahui daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.
- Dari menu drop-down Template Dataflow, pilih the Convert file formats template.
- Di kolom parameter yang disediakan, masukkan nilai parameter Anda.
- Klik Jalankan tugas.
gcloud
Di shell atau terminal Anda, jalankan template:
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
Ganti kode berikut:
PROJECT_ID: Google Cloud Project ID tempat Anda ingin menjalankan tugas DataflowJOB_NAME: nama tugas unik pilihan AndaREGION_NAME: region tempat Anda ingin men-deploy tugas Dataflow—misalnya,us-central1VERSION: versi template yang ingin Anda gunakanAnda dapat menggunakan nilai berikut:
latestuntuk menggunakan template versi terbaru, yang tersedia di folder induk tanpa tanggal di bucket—gs://dataflow-templates-REGION_NAME/latest/- nama versi, seperti
2023-09-12-00_RC00, untuk menggunakan template versi tertentu, yang dapat ditemukan bertingkat di masing-masing folder induk yang diberi tanggal dalam bucket—gs://dataflow-templates-REGION_NAME/
INPUT_FORMAT: format file input; harus salah satu dari[csv, avro, parquet]OUTPUT_FORMAT: format file output; harus salah satu dari[avro, parquet]INPUT_FILES: pola jalur untuk file inputOUTPUT_FOLDER: folder Cloud Storage Anda untuk file outputSCHEMA: jalur ke file skema Avro
API
Untuk menjalankan template menggunakan REST API, kirim permintaan POST HTTP. Untuk mengetahui informasi selengkapnya tentang API dan cakupan otorisasinya, lihat 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", } }
Ganti kode berikut:
PROJECT_ID: Google Cloud Project ID tempat Anda ingin menjalankan tugas DataflowJOB_NAME: nama tugas unik pilihan AndaLOCATION: region tempat Anda ingin men-deploy tugas Dataflow—misalnya,us-central1VERSION: versi template yang ingin Anda gunakanAnda dapat menggunakan nilai berikut:
latestuntuk menggunakan template versi terbaru, yang tersedia di folder induk tanpa tanggal di bucket—gs://dataflow-templates-REGION_NAME/latest/- nama versi, seperti
2023-09-12-00_RC00, untuk menggunakan template versi tertentu, yang dapat ditemukan bertingkat di masing-masing folder induk yang diberi tanggal dalam bucket—gs://dataflow-templates-REGION_NAME/
INPUT_FORMAT: format file input; harus salah satu dari[csv, avro, parquet]OUTPUT_FORMAT: format file output; harus salah satu dari[avro, parquet]INPUT_FILES: pola jalur untuk file inputOUTPUT_FOLDER: folder Cloud Storage Anda untuk file outputSCHEMA: jalur ke file skema Avro
Langkah berikutnya
- Pelajari template Dataflow.
- Lihat daftar template yang disediakan Google.