Dataplex menyediakan template, yang didukung oleh Dataflow, untuk melakukan tugas pemrosesan data umum seperti penyerapan, pemrosesan, dan pengelolaan data siklus proses. Panduan ini menjelaskan cara mengonfigurasi dan menjalankan template pemrosesan data.
Sebelum memulai
Template Dataplex didukung oleh Dataflow. Sebelum Anda menggunakan template, aktifkan Dataflow API.
Notes
Semua template mendukung Opsi pipeline Dataflow umum.
Dataplex menggunakan pipeline data untuk menjadwalkan tugas yang ditentukan oleh template.
Anda hanya dapat melihat tugas yang Anda jadwalkan melalui Dataplex di halaman Dataplex konsol Google Cloud.
Template: Mengonversi data mentah menjadi data hasil seleksi
Template konversi format file Dataplex mengonversi data dalam aset Cloud Storage Dataplex, atau daftar entity Dataplex yang disimpan dalam format CSV atau JSON, menjadi data format Parquet atau Avro dalam aset Dataplex lainnya. Tata letak partisi dipertahankan dalam konversi. Juga mendukung kompresi file {i>output<i}.
Parameter template
Parameter | Deskripsi |
---|---|
inputAssetOrEntitiesList |
Aset Dataplex atau entity Dataplex yang
berisi file input. Parameter ini harus mengikuti format:
projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name>
atau projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/entities/<entity1-name>,projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/entities/<entity 2 name>... |
outputFileFormat |
Format file output di Cloud Storage. Parameter ini harus mengikuti format: PARQUET atau AVRO . |
outputAsset |
Nama aset Dataplex yang berisi bucket Cloud Storage tempat file output akan disimpan. Parameter ini harus mengikuti format: projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> . Anda dapat menemukan outputAsset di Konsol Google Cloud, di tab Details aset Dataplex. |
outputFileCompression |
Opsional: Kompresi file output. Nilai default untuk parameter ini adalah SNAPPY . Nilai lain untuk parameter ini dapat berupa UNCOMPRESSED , SNAPPY , GZIP , atau BZIP2 . BZIP2 tidak didukung untuk
file PARQUET . |
writeDisposition |
Opsional: Menentukan tindakan yang terjadi jika file tujuan
sudah ada. Nilai default untuk parameter ini adalah SKIP ,
yang menandakan untuk hanya memproses file yang tidak ada di
direktori tujuan. Nilai lain untuk parameter ini dapat berupa
OVERWRITE (menimpa file yang ada) atau FAIL
(jangan memproses apa pun dan menghasilkan error jika setidaknya satu file
tujuan sudah ada). |
updateDataplexMetadata |
Opsional: Apakah akan memperbarui metadata Dataplex untuk
entity yang baru dibuat atau tidak. Nilai default untuk parameter ini adalah
Jika diaktifkan, pipeline akan otomatis menyalin skema dari sumber ke entitas Dataplex tujuan, dan Dataplex Discovery otomatis tidak akan berjalan untuk entitas tersebut. Gunakan tanda ini jika skema data sumber (mentah) dikelola oleh Dataplex. |
Menjalankan template
Konsol
Di konsol Google Cloud, buka halaman Dataplex:
Buka tampilan Process.
Klik Create task.
Pada bagian Konversikan ke Format Pilihan, klik Buat tugas.
Pilih danau Dataplex.
Berikan nama tugas.
Pilih region untuk eksekusi tugas.
Isi parameter yang diperlukan.
Klik Lanjutkan.
gcloud
Ganti kode berikut:
JOB_NAME: a job name of your choice PROJECT_ID: your template project ID REGION_NAME: region in which to run the job INPUT_ASSET_OR_ENTITIES_LIST: path to your JDBC drivers OUTPUT_FILE_FORMAT: your output file format in Cloud Storage OUTPUT_ASSET: your Dataplex output asset ID
Di shell atau terminal Anda, jalankan template:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_File_Format_Conversion_Preview \ --parameters \ inputAssetOrEntitiesList=INPUT_ASSET_OR_ENTITIES_LIST,\ outputFileFormat=OUTPUT_FILE_FORMAT,\ outputAsset=OUTPUT_ASSET
REST API
Ganti kode berikut:
PROJECT_ID: your template project ID REGION_NAME: region in which to run the job JOB_NAME: a job name of your choice INPUT_ASSET_OR_ENTITIES_LIST: path to your JDBC drivers OUTPUT_FILE_FORMAT: your output file format in Cloud Storage OUTPUT_ASSET: your Dataplex output asset ID
Kirim permintaan POST HTTP:
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION_NAME/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "inputAssetOrEntitiesList": "INPUT_ASSET_OR_ENTITIES_LIST", "outputFileFormat": "OUTPUT_FILE_FORMAT", "outputAsset": "OUTPUT_ASSET", }, "containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_File_Format_Conversion_Preview", } }
Template: Data tingkat dari aset BigQuery ke aset Cloud Storage
Template BigQuery Dataplex ke Cloud Storage menyalin data dari aset BigQuery Dataplex ke aset Dataplex Cloud Storage dalam tata letak dan format yang kompatibel dengan Dataplex. Anda dapat menentukan set data BigQuery atau daftar tabel BigQuery yang akan disalin. Untuk fleksibilitas tambahan, template memungkinkan penyalinan data yang lebih lama dari tanggal perubahan yang ditentukan dan memungkinkan penghapusan data secara opsional dari BigQuery setelah penyalinan berhasil.
Saat menyalin tabel yang dipartisi dari BigQuery ke Cloud Storage, template ini akan membuat partisi bergaya Hive di bucket Cloud Storage. Saat menulis ke Cloud Storage, template ini akan membuat kunci partisi baru dengan menambahkan akhiran _pid
ke kolom partisi yang sudah ada. Langkah ini diperlukan agar data dapat diakses di BigQuery
sebagai tabel eksternal. Saat ini, BigQuery tidak boleh memiliki
kunci partisi bergaya Hive yang sama dengan kolom yang sudah ada. Akibatnya, jika tabel yang disalin dilihat dari BigQuery sebagai tabel eksternal, memiliki kolom tambahan untuk kunci partisi. Sisa data akan dipertahankan sebagaimana adanya.
Saat menyalin tabel yang dipartisi dari BigQuery ke Cloud Storage:
- Template ini membuat partisi bergaya Hive pada bucket Cloud Storage.
Saat ini, BigQuery tidak dapat memiliki kunci partisi bergaya Hive yang sama dengan kolom yang sudah ada. Anda dapat menggunakan opsi
enforceSamePartitionKey
untuk membuat kunci partisi baru atau mempertahankan kunci partisi yang sama, tetapi mengganti nama kolom yang ada. - Dataplex Discovery mendaftarkan jenis partisi sebagai
string
saat membuat tabel BigQuery (dan tabel di Metastore Dataproc). Hal ini dapat memengaruhi filter partisi yang sudah ada.
Ada batas jumlah tabel dan partisi yang dapat diubah dalam satu template yang dijalankan, yaitu sekitar 300. Jumlah persisnya bergantung pada panjang nama tabel dan faktor lainnya.
Parameter template
Parameter | Deskripsi |
---|---|
sourceBigQueryDataset |
Set data BigQuery yang menjadi asal pembagian data. Parameter ini harus berisi nama aset Dataplex dalam format projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> atau ID set data BigQuery dalam format projects/<name>/datasets/<dataset-id> . |
destinationStorageBucketAssetName |
Nama aset Dataplex untuk bucket Cloud Storage
yang menjadi tujuan tingkatan data. Parameter ini harus mengikuti format
projects/<name>/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name> . |
tables |
Opsional: Daftar tabel BigQuery yang dipisahkan koma untuk tingkatan. Jika tidak ada daftar yang diberikan, semua tabel akan dibuat bertingkat. Tabel harus ditentukan hanya berdasarkan namanya (tanpa awalan project/set data) dan peka huruf besar/kecil. |
exportDataModifiedBeforeDateTime |
Opsional: Gunakan parameter ini untuk memindahkan data yang lebih lama dari tanggal ini (dan
waktu opsional). Untuk tabel BigQuery yang dipartisi, pindahkan
partisi yang terakhir diubah sebelum tanggal/waktu ini. Untuk tabel yang tidak dipartisi, pindahkan jika tabel terakhir diubah sebelum tanggal/waktu ini. Jika tidak
ditentukan, pindahkan semua tabel/partisi. Tanggal/waktu diuraikan dalam zona waktu default secara default, tetapi akhiran opsional Z dan +HH:mm didukung. Parameter ini harus mengikuti format YYYY-MM-DD atau YYYY-MM-DDTHH:mm:ss atau YYYY-MM-DDTHH:mm:ss+03:00 .
Tanggal/waktu relatif
juga didukung, dan harus mengikuti format
-PnDTnHnMn.nS (harus diawali dengan -P , yang
menunjukkan waktu di masa lalu).
|
fileFormat |
Opsional: Format file output di Cloud Storage. Nilai default untuk parameter ini adalah PARQUET . Nilai lain untuk parameter ini dapat berupa AVRO . |
fileCompression |
Opsional: Kompresi file output. Nilai default untuk parameter ini adalah SNAPPY . Nilai lain untuk parameter ini dapat berupa UNCOMPRESSED , SNAPPY , GZIP , atau BZIP2 . BZIP2 tidak didukung untuk
file PARQUET . |
deleteSourceData |
Opsional: Apakah akan menghapus data sumber dari BigQuery setelah ekspor berhasil. Nilai dapat berupa true atau
false . Nilai default untuk parameter ini adalah
false . |
partitionIdRegExp |
Opsional: Proses partisi dengan ID partisi yang cocok dengan ekspresi reguler ini saja. Jika tidak ada nilai yang diberikan, parameter ini akan diproses secara default untuk memproses semua. |
writeDisposition |
Opsional: Menentukan tindakan yang terjadi jika file tujuan sudah ada, yang berarti satu atau beberapa tabel/partisi telah dibuat bertingkat. Nilai default untuk parameter ini adalah SKIP , yang menandakan untuk hanya memproses tabel/partisi yang belum bertingkat. Nilai lain untuk parameter ini dapat berupa
OVERWRITE (menimpa file yang ada) atau FAIL
(jangan memproses apa pun dan menghasilkan error jika setidaknya satu file
tujuan sudah ada). |
enforceSamePartitionKey |
Opsional: Apakah akan menerapkan kunci partisi yang sama atau tidak. Karena keterbatasan BigQuery, kunci partisi (di jalur file) di tabel eksternal yang dipartisi tidak dapat memiliki nama yang sama dengan salah satu kolom dalam file tersebut. Jika parameter ini bernilai benar (true) (yang merupakan nilai default), kunci partisi file target akan ditetapkan ke nama kolom partisi asli dan nama kolom dalam file tersebut akan diganti. Jika nilainya adalah salah (false), kunci partisi akan diganti namanya. Misalnya, jika tabel asli dipartisi pada kolom bernama Jika |
updateDataplexMetadata |
Opsional: Apakah akan memperbarui metadata Dataplex untuk
entity yang baru dibuat atau tidak. Nilai default untuk parameter ini adalah
Jika diaktifkan, pipeline akan otomatis menyalin skema dari sumber ke entitas Dataplex tujuan, dan Dataplex Discovery otomatis tidak akan berjalan untuk entitas tersebut. Gunakan flag ini jika Anda mengelola skema tabel BigQuery sumber. |
Menjalankan template
Konsol
Di konsol Google Cloud, buka halaman Dataplex:
Buka tampilan Process.
Klik Create Task.
Di bagian Tier from BQ to GCS Assets, klik Create task.
Pilih danau Dataplex.
Berikan nama tugas.
Pilih region untuk eksekusi tugas.
Isi parameter yang diperlukan.
Klik Lanjutkan.
gcloud
Ganti kode berikut:
JOB_NAME: a job name of your choice PROJECT_ID: your template project ID REGION_NAME: region in which to run the job SOURCE_ASSET_NAME_OR_DATASET_ID: your Dataplex asset name for the source BigQuery dataset, or the dataset ID DESTINATION_ASSET_NAME: your Dataplex asset name for the destination Cloud Storage bucket
Di shell atau terminal Anda, jalankan template:
gcloud beta dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_BigQuery_to_GCS_Preview \ --parameters \ sourceBigQueryDataset=SOURCE_ASSET_NAME_OR_DATASET_ID,\ destinationStorageBucketAssetName=DESTINATION_ASSET_NAME
REST API
Ganti kode berikut:
PROJECT_ID: your template project ID REGION_NAME: region in which to run the job JOB_NAME: a job name of your choice SOURCE_ASSET_NAME_OR_DATASET_ID: your Dataplex asset name for the source BigQuery dataset, or the dataset ID DESTINATION_ASSET_NAME: your Dataplex asset name for the destination Cloud Storage bucket REGION_NAME: region in which to run the job
Kirim permintaan POST HTTP:
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/REGION_NAME/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "sourceBigQueryDataset": "SOURCE_ASSET_NAME_OR_DATASET_ID", "destinationStorageBucketAssetName": "DESTINATION_ASSET_NAME", }, "containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_BigQuery_to_GCS_Preview", } }
Menjadwalkan template Dataflow kustom atau yang disediakan Google Cloud lainnya
Dengan Dataplex, Anda dapat menjadwalkan dan memantau template Dataflow yang disediakan Google Cloud atau template Dataflow kustom Anda di konsol.
Jadwal
Konsol
Di konsol Google Cloud, buka halaman Dataplex:
Buka tampilan Process.
Klik Create Task.
Di bagian Menulis pipeline Dataflow, klik Buat pipeline Dataflow.
Pilih danau Dataplex.
Berikan nama tugas.
Pilih region tempat menjalankan tugas.
Pilih template Dataflow.
Isi parameter yang diperlukan.
Klik Lanjutkan.
Memantau
Konsol
Di konsol Google Cloud, buka halaman Dataplex:
Buka tampilan Process.
Klik Pipeline Dataflow.
Filter menurut nama lake atau pipeline.