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 data header (true/false). 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) Pemisah 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 Create job from template Dataflow. Buka Buat tugas dari template
- Di kolom Nama tugas, masukkan nama tugas yang unik.
- Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region defaultnya adalah
us-central1
.Untuk mengetahui daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.
- Dari menu drop-down Dataflow template, pilih the Convert file formats template.
- Di kolom parameter yang disediakan, masukkan nilai parameter Anda.
- Klik Run job.
gcloud
Di shell atau terminal, 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
: ID project Google Cloud tempat Anda ingin menjalankan tugas DataflowJOB_NAME
: nama tugas unik pilihan AndaREGION_NAME
: region tempat Anda ingin men-deploy tugas Dataflow—misalnya,us-central1
VERSION
: versi template yang ingin Anda gunakanAnda dapat menggunakan nilai berikut:
latest
untuk 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 versi template tertentu, yang dapat ditemukan bertingkat dalam folder induk bertanggal masing-masing di bucket—gs://dataflow-templates-REGION_NAME/
INPUT_FORMAT
: format file dari file input; harus salah satu dari[csv, avro, parquet]
OUTPUT_FORMAT
: format file 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
: ID project Google Cloud tempat Anda ingin menjalankan tugas DataflowJOB_NAME
: nama tugas unik pilihan AndaLOCATION
: region tempat Anda ingin men-deploy tugas Dataflow—misalnya,us-central1
VERSION
: versi template yang ingin Anda gunakanAnda dapat menggunakan nilai berikut:
latest
untuk 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 versi template tertentu, yang dapat ditemukan bertingkat dalam folder induk bertanggal masing-masing di bucket—gs://dataflow-templates-REGION_NAME/
INPUT_FORMAT
: format file dari file input; harus salah satu dari[csv, avro, parquet]
OUTPUT_FORMAT
: format file 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 selanjutnya
- Pelajari template Dataflow.
- Lihat daftar template yang disediakan Google.