Memproses data menggunakan template

Dataplex 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 Dataplex didukung oleh Dataflow. Sebelum menggunakan template, aktifkan Dataflow API.

Mengaktifkan Dataflow API

Perhatikan hal berikut:

  • 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 yang diseleksi

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

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 (menulis ulang 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 untuk entity yang baru dibuat. Nilai default untuk parameter ini adalah false.

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

Menjalankan template

Konsol

  1. Di konsol Google Cloud, buka halaman Dataplex.

    Buka Dataplex

  2. Buka tampilan Proses.

  3. Klik Create task.

  4. Di bagian Konversi ke Format Terpilih, klik Buat tugas.

  5. Pilih data lake Dataplex.

  6. Berikan nama tugas.

  7. Pilih region untuk eksekusi tugas.

  8. Isi parameter yang diperlukan.

  9. Klik Lanjutkan.

gcloud

Di shell atau terminal, 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 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 output asset ID

Template: Menata data dari aset BigQuery ke aset Cloud Storage

Template BigQuery Dataplex ke Cloud Storage menyalin data dari aset BigQuery Dataplex ke aset Cloud Storage Dataplex 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 modifikasi 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 membuat partisi bergaya Hive di bucket Cloud Storage. BigQuery tidak dapat memiliki kunci partisi bergaya 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.
  • Dataplex Discovery mendaftarkan jenis partisi sebagai string saat membuat tabel BigQuery (dan tabel di Metastore Dataproc). Hal ini dapat memengaruhi filter partisi yang ada.

Ada batasan jumlah tabel dan partisi yang dapat ditransformasikan dalam satu operasi template, yaitu sekitar 300. Jumlah pastinya bergantung pada panjang nama tabel dan faktor lainnya.

Parameter template

Parameter Deskripsi
sourceBigQueryDataset Set data BigQuery tempat data tingkat berasal. 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 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 di-tier. Jika tidak ada daftar yang diberikan, semua tabel akan diberi tingkat. 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, pindah 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 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. Nilainya dapat berupa true atau false. Nilai default untuk parameter ini adalah false.
partitionIdRegExp Opsional: Memproses partisi dengan ID partisi yang cocok dengan ekspresi reguler ini saja. 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 untuk hanya memproses tabel/partisi yang belum dikelompokkan sebelumnya. Nilai lain untuk parameter ini dapat berupa OVERWRITE (menulis ulang 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 adanya batasan BigQuery, kunci partisi (di jalur file) dalam tabel eksternal yang dipartisi tidak boleh memiliki nama yang sama dengan salah satu kolom dalam file. Jika parameter ini bernilai benar (yang merupakan nilai default), kunci partisi file target akan ditetapkan ke nama kolom partisi asli dan kolom dalam file akan diganti namanya. Jika salah (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 dijalankan pada partisi yang sama di tabel lama atau baru.

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

updateDataplexMetadata

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

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

Menjalankan template

Konsol

  1. Di konsol Google Cloud, buka halaman Dataplex.

    Buka Dataplex

  2. Buka tampilan Proses.

  3. Klik Create Task.

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

  5. Pilih data lake Dataplex.

  6. Berikan nama tugas.

  7. Pilih region untuk eksekusi tugas.

  8. Isi parameter yang diperlukan.

  9. Klik Lanjutkan.

gcloud

Di shell atau terminal, 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 asset
name for the source BigQuery dataset, or the dataset ID
DESTINATION_ASSET_NAME: your Dataplex 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 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

Menjadwalkan template Dataflow kustom atau yang disediakan Google Cloud lainnya

Dataplex memungkinkan Anda menjadwalkan dan memantau salah satu template Dataflow yang disediakan Google Cloud atau template Dataflow kustom di konsol.

Jadwal

Konsol

  1. Di konsol Google Cloud, buka halaman Dataplex.

    Buka Dataplex

  2. Buka tampilan Proses.

  3. Klik Create Task.

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

  5. Pilih data lake Dataplex.

  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.

    Buka Dataplex

  2. Buka tampilan Proses.

  3. Klik Pipeline Dataflow.

  4. Filter menurut nama danau atau pipeline.