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 Katalog Universal Dataplex didukung oleh Dataflow. Sebelum menggunakan template, aktifkan Dataflow API.
Template: Menelan data ke Dataplex Universal Catalog menggunakan koneksi JDBC
Template penyerapan JDBC Dataplex Universal Catalog menyalin data dari database relasional ke target aset Dataplex Universal Catalog. Aset Dataplex Universal 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 yang dienkripsi dengan kunci Cloud KMS.
Template menangani berbagai jenis aset secara transparan. Data yang disimpan di aset Cloud Storage dipartisi gaya Hive dan Penemuan Dataplex Universal Catalog membuatnya otomatis tersedia sebagai tabel di Data Catalog (Tidak digunakan lagi), BigQuery (tabel eksternal), atau instance Dataproc Metastore yang terhubung.
Parameter template
Parameter | Deskripsi |
---|---|
driverJars |
Menggunakan koma, pisahkan 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 di sumber untuk mengekstrak data.
Misalnya, select * from sampledb.sample_table . |
outputAsset |
ID aset output Dataplex Universal Catalog 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 Dataplex Universal 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 untuk menulis output. Jika merupakan 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 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 Dataplex Universal Catalog untuk
entitas yang baru dibuat. Nilai default untuk parameter ini adalah
Jika diaktifkan, pipeline akan otomatis menyalin skema dari sumber ke tujuan entitas Dataplex Universal Catalog, dan Penemuan Dataplex Universal Catalog otomatis tidak akan berjalan untuk entitas tersebut. Gunakan tanda ini dalam kasus saat Anda mengelola skema di sumber. Hanya didukung untuk tujuan Cloud Storage. |
Menjalankan template
Konsol
Di konsol Google Cloud , buka halaman Process Katalog Universal Dataplex:
Klik Buat Tugas.
Di bagian Ingest JDBC to Dataplex, klik Create task.
Pilih data lake Dataplex Universal Catalog.
Berikan nama tugas.
Pilih region untuk eksekusi tugas.
Isi parameter yang diperlukan.
Klik Lanjutkan.
gcloud
Di shell atau terminal, 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 Dataplex Universal 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 Dataplex Universal Catalog output asset ID
Langkah berikutnya
- Pelajari cara mengelola danau Anda.
- Pelajari cara Mengelola zona Anda.