Menyerap data menggunakan template

Knowledge Catalog (sebelumnya 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 yang menyerap data menggunakan koneksi JDBC.

Sebelum memulai

Template tugas Knowledge Catalog didukung oleh Dataflow. Sebelum menggunakan template, aktifkan Dataflow API.

Aktifkan Dataflow API

Template: Menyerap data ke dalam Knowledge Catalog menggunakan koneksi JDBC

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

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

Template menangani berbagai jenis aset secara transparan. Data yang disimpan di aset Cloud Storage dipartisi gaya Hive dan Penemuan Knowledge Catalog membuatnya otomatis tersedia sebagai tabel di Data Catalog (Tidak digunakan lagi), BigQuery (tabel eksternal), atau instance Dataproc Metastore yang terlampir.

Parameter template

Parameter Deskripsi
driverJars Gunakan koma untuk memisahkan jalur Cloud Storage untuk driver JDBC.
Misalnya, gs://your-bucket/driver_jar1.jar, gs://your-bucket/driver_jar2.jar.
connectionURL String koneksi URL untuk terhubung ke sumber JDBC.
Misalnya, 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.
Misalnya, com.mysql.jdbc.Driver.
connectionProperties String properti yang akan digunakan untuk koneksi JDBC.
Misalnya, unicode=true&characterEncoding=UTF-8.
query Kueri yang akan dijalankan pada sumber untuk mengekstrak data.
Misalnya, select * from sampledb.sample_table.
outputAsset ID aset output Katalog Pengetahuan 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 Detail aset Knowledge Catalog.
username Nama pengguna yang akan digunakan untuk koneksi JDBC. Anda dapat meneruskan nama pengguna sebagai teks biasa atau sebagai string berenkode Base64 yang dienkripsi oleh Cloud KMS.
password Sandi yang akan digunakan untuk koneksi JDBC. Anda dapat meneruskan sandi sebagai teks biasa atau sebagai string berenkode Base64 yang dienkripsi oleh Cloud KMS.
outputTable Lokasi tabel BigQuery atau nama folder teratas Cloud Storage yang menjadi tujuan penulisan output. Jika berupa 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 Anda dienkripsi oleh Cloud KMS. Enkripsi 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 file tersebut 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 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 kompresi Snappy setelan default. Nilai default untuk parameter ini adalah PARQUET. Nilai lain untuk parameter adalah AVRO.
updateDataplexMetadata

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

Jika diaktifkan, pipeline akan otomatis menyalin skema dari sumber ke entity Katalog Pengetahuan tujuan, dan Penemuan Katalog Pengetahuan otomatis tidak akan berjalan untuk entity tersebut. Gunakan tanda ini dalam kasus saat Anda mengelola skema di sumber.

Hanya didukung untuk tujuan Cloud Storage.

Menjalankan template

Konsol

  1. Di konsol Google Cloud , buka halaman Process Knowledge Catalog:

    Buka Proses

  2. Klik Create Task.

  3. Di bagian Ingest JDBC to Knowledge Catalog, klik Create task.

  4. Pilih lake Knowledge Catalog.

  5. Berikan nama tugas.

  6. Pilih region untuk eksekusi tugas.

  7. Isi parameter yang diperlukan.

  8. Klik Lanjutkan.

gcloud

Di shell atau terminal Anda, jalankan template berikut:

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\

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

REST API

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

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

Langkah berikutnya