Memproses data menggunakan template

Dataplex Universal Catalog menyediakan template, yang didukung oleh Dataflow, untuk melakukan tugas pemrosesan data umum seperti penyerapan, pemrosesan, dan pengelolaan siklus proses data. Panduan ini menjelaskan cara mengonfigurasi dan menjalankan template pemrosesan data.

Sebelum memulai

Template Katalog Universal Dataplex didukung oleh Dataflow. Sebelum menggunakan template, aktifkan Dataflow API.

Aktifkan Dataflow API

Perhatikan hal berikut:

  • Semua template mendukung opsi pipeline Dataflow umum.

  • Dataplex Universal Catalog menggunakan pipeline data untuk menjadwalkan tugas yang ditentukan oleh template.

  • Anda hanya dapat melihat tugas yang dijadwalkan melalui Dataplex Universal Catalog di konsol Google Cloud di halaman Dataplex Universal Catalog.

Template: Mengonversi data mentah menjadi data yang dikurasi

Template konversi format file Dataplex Universal Catalog mengonversi data dalam aset Cloud Storage Dataplex Universal Catalog, atau daftar entity Dataplex Universal Catalog yang disimpan dalam format CSV atau JSON, ke format data Parquet atau Avro di aset Dataplex Universal Catalog lain. Tata letak partisi dipertahankan dalam konversi. Fitur ini juga mendukung kompresi file output.

Parameter template

Parameter Deskripsi
inputAssetOrEntitiesList Aset Dataplex Universal Catalog atau entitas Dataplex Universal Catalog 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 Universal Catalog 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 aset Dataplex Universal Catalog Details.
outputFileCompression Opsional: Kompresi file output. Nilai default untuk parameter ini adalah SNAPPY. Nilai lain untuk parameter 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 memproses hanya file yang tidak ada di direktori tujuan. Nilai lain untuk parameter dapat berupa OVERWRITE (menimpa file yang ada) atau FAIL (tidak memproses apa pun dan menghasilkan error jika setidaknya satu file tujuan sudah ada).
updateDataplexMetadata

Opsional: Apakah akan memperbarui metadata Dataplex Universal Catalog untuk entitas yang baru dibuat. Nilai default untuk parameter ini adalah false.

Jika diaktifkan, pipeline akan otomatis menyalin skema dari sumber ke entity Dataplex tujuan, dan Penemuan Katalog Universal Dataplex otomatis tidak akan berjalan untuk entity tersebut. Gunakan tanda ini jika skema data sumber (mentah) dikelola oleh Dataplex.

Menjalankan template

Konsol

  1. Di konsol Google Cloud , buka halaman Dataplex Universal Catalog.

    Buka Katalog Universal Dataplex

  2. Buka tampilan Process.

  3. Klik Create task.

  4. Di bagian Convert to Curated Formats, klik Create task.

  5. Pilih data lake Dataplex Universal Catalog.

  6. Berikan nama tugas.

  7. Pilih region untuk eksekusi tugas.

  8. Isi parameter yang diperlukan.

  9. Klik Lanjutkan.

gcloud

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

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 Universal Catalog output asset ID

REST

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",
 }
}

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 Universal Catalog output asset ID

Template: Mengelompokkan data dari aset BigQuery ke aset Cloud Storage

Template Dataplex Universal Catalog BigQuery ke Cloud Storage menyalin data dari aset BigQuery Dataplex Universal Catalog ke aset Cloud Storage Dataplex Universal Catalog dalam tata letak dan format yang kompatibel dengan Dataplex Universal Catalog. Anda dapat menentukan set data BigQuery atau daftar tabel BigQuery yang akan disalin. Untuk fleksibilitas tambahan, template ini memungkinkan penyalinan data yang lebih lama dari tanggal modifikasi yang ditentukan dan memungkinkan penghapusan data secara opsional dari BigQuery setelah penyalinan berhasil.

Saat menyalin tabel berpartisi dari BigQuery ke Cloud Storage:

  • Template ini membuat partisi gaya Hive di bucket Cloud Storage. BigQuery tidak dapat memiliki kunci partisi gaya Hive yang sama dengan kolom yang ada. Anda dapat menggunakan opsi enforceSamePartitionKey untuk membuat kunci partisi baru atau mempertahankan kunci partisi yang sama, tetapi mengganti nama kolom yang ada.
  • Penemuan Dataplex Universal Catalog mendaftarkan jenis partisi sebagai string saat membuat tabel BigQuery (dan tabel di Dataproc Metastore). Hal ini dapat memengaruhi filter partisi yang ada.

Ada batasan jumlah tabel dan partisi yang dapat diubah dalam satu eksekusi template, yaitu sekitar 300. Jumlah persisnya bergantung pada panjang nama tabel dan faktor lainnya.

Parameter template

Parameter Deskripsi
sourceBigQueryDataset Set data BigQuery untuk mengelompokkan data. Parameter ini harus berisi nama aset Dataplex Universal Catalog 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 Universal Catalog untuk bucket Cloud Storage tempat data akan dikelompokkan. 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 dikelompokkan. Tabel hanya boleh ditentukan berdasarkan namanya (tanpa awalan project atau 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 berpartisi, 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 dimulai 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 dapat berupa AVRO.
fileCompression Opsional: Kompresi file output. Nilai default untuk parameter ini adalah SNAPPY. Nilai lain untuk parameter 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: Hanya proses partisi dengan ID partisi yang cocok dengan ekspresi reguler ini. Jika tidak ada nilai yang diberikan, parameter ini akan ditetapkan secara default ke proses semua.
writeDisposition Opsional: Menentukan tindakan yang terjadi jika file tujuan sudah ada, yang berarti satu atau beberapa tabel/partisi sudah dikelompokkan sebelumnya. Nilai default untuk parameter ini adalah SKIP, yang menandakan hanya tabel/partisi yang belum dikategorikan sebelumnya yang akan diproses. Nilai lain untuk parameter dapat berupa OVERWRITE (menimpa file yang ada) atau FAIL (tidak memproses apa pun dan menghasilkan error jika setidaknya satu file tujuan sudah ada).
enforceSamePartitionKey

Opsional: Apakah akan menerapkan kunci partisi yang sama. Karena batasan BigQuery, kunci partisi (di jalur file) dalam tabel eksternal yang dipartisi tidak dapat memiliki nama yang sama dengan salah satu kolom dalam file. Jika parameter ini benar (yang merupakan nilai default), kunci partisi file target akan ditetapkan ke nama kolom partisi asli dan kolom dalam file akan diganti namanya. Jika false, kunci partisi akan diganti namanya.

Misalnya, jika tabel asli dipartisi pada kolom bernama TS dan enforceSamePartitionKey=true, maka jalur file tujuan adalah gs://<bucket>/TS=<partition ID>/<file> dan kolom diganti namanya menjadi TS_pkey dalam file. Hal ini memungkinkan kueri yang ada dieksekusi terhadap partisi yang sama di tabel lama atau tabel baru.

Jika enforceSamePartitionKey=false, maka jalur file tujuan adalah gs://<bucket>/TS_pid=<partition ID>/<file>, tetapi nama kolom tetap TS dalam file.

updateDataplexMetadata

Opsional: Apakah akan memperbarui metadata Dataplex Universal Catalog untuk entitas yang baru dibuat. Nilai default untuk parameter ini adalah false.

Jika diaktifkan, pipeline akan otomatis menyalin skema dari sumber ke entity Dataplex tujuan, dan Penemuan Katalog Universal Dataplex otomatis tidak akan berjalan untuk entity tersebut. Gunakan tanda ini jika Anda mengelola skema tabel BigQuery sumber.

Menjalankan template

Konsol

  1. Di konsol Google Cloud , buka halaman Dataplex Universal Catalog.

    Buka Katalog Universal Dataplex

  2. Buka tampilan Process.

  3. Klik Buat Tugas.

  4. Di bagian Tier from BQ to GCS Assets, klik Create task.

  5. Pilih data lake Dataplex Universal Catalog.

  6. Berikan nama tugas.

  7. Pilih region untuk eksekusi tugas.

  8. Isi parameter yang diperlukan.

  9. Klik Lanjutkan.

gcloud

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

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 Universal Catalog asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Dataplex Universal Catalog asset name for
the destination Cloud Storage bucket

REST

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",
 }
}

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 Universal Catalog asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Dataplex Universal Catalog asset name for
the destination Cloud Storage bucket
REGION_NAME: region in which to run the job

Menjadwalkan template Dataflow kustom atau yang disediakan Google Cloudlainnya

Dengan Dataplex Universal Catalog, Anda dapat menjadwalkan dan memantau salah satu template Dataflow yang disediakanGoogle Cloudatau template Dataflow kustom di konsol.

Jadwal

Konsol

  1. Di konsol Google Cloud , buka halaman Dataplex Universal Catalog.

    Buka Katalog Universal Dataplex

  2. Buka tampilan Process.

  3. Klik Buat Tugas.

  4. Di bagian Buat pipeline Dataflow, klik Buat pipeline Dataflow.

  5. Pilih data lake Dataplex Universal Catalog.

  6. Berikan nama tugas.

  7. Pilih region tempat tugas akan dijalankan.

  8. Pilih template Dataflow.

  9. Isi parameter yang diperlukan.

  10. Klik Lanjutkan.

Memantau

Konsol

  1. Di konsol Google Cloud , buka halaman Dataplex Universal Catalog.

    Buka Katalog Universal Dataplex

  2. Buka tampilan Process.

  3. Klik Pipeline Dataflow.

  4. Filter menurut nama lake atau pipeline.