Serap menggunakan template

Dataplex menyediakan template (dengan teknologi Dataflow) untuk melakukan tugas pemrosesan data umum seperti penyerapan, pemrosesan, dan pengelolaan data siklus proses. Panduan ini menjelaskan cara mengonfigurasi dan menjalankan template yang menyerap data menggunakan koneksi JDBC.

Sebelum memulai

Template tugas Dataplex didukung oleh Dataflow. Sebelum Anda menggunakan template, aktifkan Dataflow API.

Mengaktifkan Dataflow API

Template: Menyerap data ke Dataplex menggunakan koneksi JDBC

Template penyerapan JDBC Dataplex menyalin data dari database relasional ke target aset Dataplex. Aset Dataplex dapat berupa aset Cloud Storage atau aset BigQuery.

Pipeline ini menggunakan JDBC untuk terhubung ke database relasional. Sebagai lapisan perlindungan tambahan, Anda juga dapat meneruskan kunci Cloud KMS bersama dengan nama pengguna, sandi, dan parameter string koneksi yang dienkode ke Base64 yang dienkripsi dengan kunci Cloud KMS.

Template ini secara transparan menangani berbagai jenis aset. Data yang tersimpan pada aset Cloud Storage dipartisi bergaya Hive dan Discovery Dataplex membuatnya otomatis tersedia sebagai tabel di Data Catalog, BigQuery (tabel eksternal), atau instance Metastore Dataproc yang terlampir.

Parameter template

Parameter Deskripsi
driverJars Dengan menggunakan koma, pisahkan jalur Cloud Storage untuk driver JDBC.
Contoh: gs://your-bucket/driver_jar1.jar, gs://your-bucket/driver_jar2.jar.
connectionURL String koneksi URL yang akan terhubung ke sumber JDBC.
Contoh: jdbc:mysql://some-host:3306/sampledb.
Anda dapat meneruskan URL koneksi sebagai teks biasa atau sebagai string berenkode Base64 yang dienkripsi oleh Cloud KMS.
driverClassName Nama class driver JDBC.
Contoh: com.mysql.jdbc.Driver.
connectionProperties String properti yang akan digunakan untuk koneksi JDBC.
Contoh: unicode=true&characterEncoding=UTF-8.
query Kueri yang akan dieksekusi pada sumber untuk mengekstrak data.
Contoh: select * from sampledb.sample_table.
outputAsset ID aset output Dataplex tempat hasil disimpan. Untuk ID, gunakan format projects/your-project/locations/<loc>/lakes/<lake-name>/zones/<zone-name>/assets/<asset-name></code>. Anda dapat menemukan outputAsset di Konsol Google Cloud, di tab Details aset Dataplex.
username Nama pengguna yang akan digunakan untuk koneksi JDBC. Anda dapat meneruskan nama pengguna sebagai teks biasa atau sebagai string berenkode Base64 yang dienkripsi dengan Cloud KMS.
password Sandi yang akan digunakan untuk koneksi JDBC. Anda dapat meneruskan sandi sebagai teks biasa atau sebagai string berenkode Base64 yang dienkripsi dengan Cloud KMS.
outputTable Lokasi tabel BigQuery atau nama folder atas Cloud Storage yang akan menjadi tujuan penulisan output. Jika ini adalah lokasi tabel BigQuery, skema tabel harus cocok dengan skema kueri sumber dan harus dalam format some-project-id:somedataset.sometable. Jika berupa folder teratas Cloud Storage, berikan nama folder teratas.
KMSEncryptionKey (Opsional) Jika Anda memberikan parameter KMSEncryptionKey, pastikan password, username, dan connectionURL dienkripsi oleh Cloud KMS. Enkripsikan parameter ini menggunakan endpoint enkripsi Cloud KMS API. Misalnya, projects/your-project/locations/global/keyRings/test/cryptoKeys/quickstart.
writeDisposition (Opsional) Strategi yang akan digunakan jika file/tabel target ada. Format yang didukung adalah WRITE_APPEND (baris akan ditambahkan jika tabel ada), WRITE_TRUNCATE (tabel/file akan ditimpa), WRITE_EMPTY (tabel output harus kosong/file output tidak boleh ada), dan SKIP (lewati penulisan ke file jika ada). Untuk BigQuery, format yang diizinkan adalah: WRITE_APPEND, WRITE_TRUNCATE, WRITE_EMPTY. Untuk Cloud Storage, format yang diizinkan adalah: SKIP, WRITE_TRUNCATE, WRITE_EMPTY. Default: WRITE_EMPTY.
partitioningScheme (Opsional) Skema partisi saat menulis file. Nilai default untuk parameter ini adalah DAILY. Nilai lain untuk parameter ini dapat berupa MONTHLY atau HOURLY.
partitionColumn (Opsional) Kolom partisi yang menjadi dasar partisi. Jenis kolom harus dalam format timestamp/date. Jika parameter partitionColumn tidak diberikan, data tidak akan dipartisi.
fileFormat (Opsional) Format file output di Cloud Storage. File dikompresi dengan setelan default kompresi Snappy. Nilai default untuk parameter ini adalah PARQUET. Nilai lain untuk parameter ini adalah AVRO.
updateDataplexMetadata

(Opsional) Apakah akan memperbarui metadata Dataplex untuk entity yang baru dibuat atau tidak. Nilai default untuk parameter ini adalah false.

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 memiliki skema yang dikelola di sumber.

Hanya didukung untuk tujuan Cloud Storage.

Menjalankan template

Konsol

  1. Di konsol Google Cloud, buka halaman Dataplex:

    Buka Dataplex

  2. Buka tampilan Process.

  3. Klik Create Task.

  4. Di bagian Serap JDBC ke Dataplex, klik Buat tugas.

  5. Pilih danau Dataplex.

  6. Berikan nama tugas.

  7. Pilih region untuk eksekusi tugas.

  8. Isi parameter yang diperlukan.

  9. Klik Lanjutkan.

gcloud

Ganti kode berikut:

JOB_NAME: a job name of your choice
PROJECT_ID: your template project ID
DRIVER_JARS: path to your JDBC drivers
CONNECTION_URL: your JDBC connection URL string
DRIVER_CLASS_NAME: your JDBC driver class name
CONNECTION_PROPERTIES: your JDBC connection property string
QUERY: your JDBC source SQL query
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_JDBC_Ingestion_Preview \
--parameters \
driverJars=DRIVER_JARS,\
connectionUrl=CONNECTION_URL,\
driverClassName=DRIVER_CLASS_NAME,\
connectionProperties=CONNECTION_PROPERTIES,\
query=QUERY\
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
DRIVER_JARS: path to your JDBC drivers
CONNECTION_URL: your JDBC connection URL string
DRIVER_CLASS_NAME: your JDBC driver class name
CONNECTION_PROPERTIES: your JDBC connection property string
QUERY: your JDBC source SQL query
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": {
          "driverJars": "DRIVER_JARS",
          "connectionUrl": "CONNECTION_URL",
          "driverClassName": "DRIVER_CLASS_NAME",
          "connectionProperties": "CONNECTION_PROPERTIES",
          "query": "QUERY"
          "outputAsset": "OUTPUT_ASSET"
      },
      "containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/latest/flex/Dataplex_JDBC_Ingestion_Preview",
   }
}

Langkah selanjutnya