Topik ini menjelaskan cara mengonfigurasi Data Lake Formation (DLF) untuk mengekstraksi metadata dari data yang disimpan di Object Storage Service (OSS). Anda kemudian dapat menggunakan skema eksternal MaxCompute untuk menjalankan kueri terfederasi pada data di data lake. Solusi ini menyederhanakan analitik data dan pemrosesan serta memastikan keandalan dan keamanan data.
Catatan penggunaan
Layanan yang diaktifkan
Layanan OSS telah diaktifkan.
Layanan DLF telah diaktifkan.
Proyek MaxCompute telah dibuat dan dukungan skema untuk metadata tingkat proyek telah diaktifkan.
Wilayah yang didukung
Nama Wilayah
ID Wilayah
China (Hangzhou)
cn-hangzhou
China (Shanghai)
cn-shanghai
China (Beijing)
cn-beijing
China (Zhangjiakou)
cn-zhangjiakou
China (Shenzhen)
cn-shenzhen
China (Hong Kong)
cn-hongkong
Singapore
ap-southeast-1
Germany (Frankfurt)
eu-central-1
MaxCompute, OSS, dan DLF harus dideploy di wilayah yang sama.
Prosedur
Langkah 1: Berikan izin MaxCompute untuk mengakses DLF dan OSS
Akun yang terkait dengan proyek MaxCompute Anda memerlukan izin untuk mengakses layanan DLF dan OSS. Anda dapat menggunakan salah satu metode otorisasi berikut:
Otorisasi satu klik: Jika Anda menggunakan akun yang sama untuk proyek MaxCompute dan layanan DLF, klik Authorize DLF.
Otorisasi kustom: Gunakan metode otorisasi kustom jika Anda menggunakan akun yang berbeda.
Langkah 2: Siapkan data OSS
Masuk ke Konsol OSS dan buat bucket. Pada contoh ini, bucket diberi nama
mc-lakehouse-dlf-oss. Untuk informasi selengkapnya, lihat Create a bucket.Contoh ini menggunakan tabel partisi. Buat folder root bernama
mc_dlf_oss_pt/di dalam bucket. Kemudian, buat empat subdirektori di folder root tersebut dan unggah file ke masing-masing subdirektori:direction=N/: vehicle1.csvdirection=NE/: vehicle2.csvdirection=S/:vehicle3.csvdirection=SW/: vehicle4.csv
Langkah 3: Ekstraksi metadata OSS menggunakan DLF 1.0
Masuk ke Konsol Data Lake Formation (DLF) dan pilih wilayah di pojok kiri atas.
Pada panel navigasi sebelah kiri, pilih .
Pada halaman Metadata, klik tab Database.
Di bawah default Catalog List, klik Create Database. Konfigurasikan parameter berikut:
Pada halaman Metadata Management, klik tab Database. Di katalog data default, klik Create Database. Konfigurasikan parameter berikut:
Parameter
Wajib
Deskripsi
Catalog
Wajib
Pada contoh ini, katalog data adalah default.
Database Name:
Wajib
Masukkan nama database kustom. Nama harus dimulai dengan huruf, panjang 1 hingga 128 karakter, dan hanya boleh berisi huruf, angka, serta garis bawah (_). Contoh:
dlf_oss_csv.Database Description:
Opsional
Masukkan deskripsi kustom.
Select Path:
Wajib
Lokasi penyimpanan database. Contoh:
oss://mc-lakehouse-dlf-oss/metadb_save.Pada panel navigasi sebelah kiri, pilih .
Set Extraction Source:
Parameter
Wajib
Deskripsi
Extraction Task Name
Parameter ini wajib.
Masukkan nama kustom untuk tugas ekstraksi.
Select OSS Path
Wajib
DLF automatically creates tables and partitions based on the OSS directory that you specified. Directory structure: oss://Selected path/Table name (Optional)/Partition name (Optional)/File name. For example, the data.csv file is used to extract metadata. If this file is saved to the oss://my-bucket/my-path/my-table/dt=1/ directory and the oss://my-bucket/my-path/ directory is selected, DLF uses my_table as the table name, dt as a partition, and the data.csv file as the table schema. All directory names that include the table name can contain letters, digits, and underscores (_), and must start with a letter.
Exclusion Mode
Opsional
Enter a regular expression to match the OSS directory that needs to be excluded
Parse Format
Wajib
Layanan ini menyediakan beberapa format tabel, seperti Automatic Recognition, json, csv, parquet, orc, hudi, delta, dan avro.
Set Extraction Target:
Parameter
Wajib
Deskripsi
Catalog
Wajib
Pilih katalog data untuk informasi target.
Destination Database
Wajib
Pilih database yang sudah ada. Contoh:
dlf_oss_csv.Destination Table Prefix
Opsional
Enter the prefix of the destination table. It must be 1 to 128 characters in length, and can contain letters, digits, and underscores (_). It must start with a letter.
Method to Handle Table Field Update
Wajib
Add Columns and Retain Existing Columns.
Update Table Schema and Generate Table Results Based on the last detected table schema (Jika Anda memilih opsi ini, hasil ekstraksi metadata akan menimpa tabel yang memiliki nama sama. Hal ini dapat menyebabkan tabel asli hilang atau tidak tersedia.)
Ignore Updates and Not Modify Table.
Method to Process Deleted OSS Objects
Wajib
Delete Metadata.
Ignore Updates and Not Delete Tables.
Set Extraction Task:
Parameter
Wajib
Deskripsi
RAM Role
Wajib
Data Lake Formation mengasumsikan role ini untuk mengakses resource Anda. Anda dapat memilih role sistem default AliyunDLFWorkFlowDefaultRole.
Execution Policy
Opsional
Kebijakan eksekusi untuk pekerjaan.
Manual
Scheduling
Extraction Policy
Wajib
Partial Data Extraction: Memindai hanya sebagian dari setiap file untuk mengekstraksi metadata. Ini memperpendek durasi pekerjaan tetapi mungkin menghasilkan akurasi yang lebih rendah dibandingkan ekstraksi penuh. Anda dapat mengedit metadata untuk menyesuaikan informasi.
Extract All: Memindai semua file data untuk mengekstraksi metadata. Proses ini membutuhkan waktu lebih lama untuk dataset besar tetapi memberikan hasil yang lebih akurat.
Lihat tabel yang diekstraksi
Pada panel navigasi sebelah kiri, pilih .
Pada halaman Metadata, klik tab Database.
Pada contoh ini, tabel yang diekstraksi adalah
mc_dlf_oss_pt.
Jika Anda menambahkan data ke partisi baru, Anda harus menjalankan ulang tugas ekstraksi.
Langkah 4: Buat sumber data eksternal DLF 1.0 dan OSS
Masuk ke Konsol MaxCompute dan pilih wilayah di pojok kiri atas.
Pada panel navigasi sebelah kiri, pilih .
Pada halaman External Data Source, klik Create External Data Source.
Pada kotak dialog Create External Data Source, konfigurasikan parameter. Tabel berikut menjelaskan parameter tersebut.
Parameter
Wajib
Deskripsi
External Data Source Type
Wajib
Pilih DLF+OSS.
External Data Source Name
Wajib
Masukkan nama kustom. Konvensi penamaan sebagai berikut:
Nama harus dimulai dengan huruf dan hanya boleh berisi huruf kecil, garis bawah (_), dan angka.
Nama tidak boleh melebihi 128 karakter.
Contoh:
dlf_oss_csv_new.Description
Opsional
Masukkan deskripsi sesuai kebutuhan.
Region
Wajib
Wilayah saat ini dipilih secara default.
DLF Endpoint
Wajib
DLF Endpoint wilayah saat ini digunakan secara default.
OSS Endpoint
Wajib
OSS Endpoint wilayah saat ini digunakan secara default.
RoleARN
Wajib
Nama Sumber Daya Alibaba Cloud (ARN) dari peran RAM. Peran ini harus memiliki izin untuk mengakses layanan DLF dan OSS.
Masuk ke Konsol Resource Access Management (RAM).
Pada panel navigasi sebelah kiri, pilih .
Pada bagian Basic Information, peroleh ARN.
Contoh:
acs:ram::124****:role/aliyunodpsdefaultrole.Foreign Server Supplemental Properties
Opsional
Tentukan atribut tambahan untuk sumber data eksternal. Setelah Anda menentukan atribut tersebut, tugas yang menggunakan sumber data ini dapat mengakses sistem sumber berdasarkan perilaku yang telah ditentukan.
CatatanUntuk informasi tentang parameter yang didukung, lihat pembaruan mendatang dalam dokumentasi resmi. Lebih banyak parameter akan tersedia seiring perkembangan produk.
Klik OK untuk membuat sumber data eksternal.
Pada halaman External Data Source, temukan sumber data target dan klik Details di kolom Actions.
Langkah 5: Buat skema eksternal
Sambungkan ke MaxCompute dan jalankan perintah berikut:
SET odps.namespace.schema=true;
CREATE EXTERNAL SCHEMA IF NOT EXISTS <external_schema>
WITH <external_data_source>
ON '<dlf_data_catalogue>.dlf_database';Parameter dijelaskan sebagai berikut:
external_schema: Nama kustom untuk skema eksternal. Contoh:
es_dlf_oss_csv.external_data_source: Nama sumber data eksternal yang telah Anda buat. Proyek yang berisi skema eksternal harus berada di wilayah yang sama dengan sumber data eksternal. Contoh:
dlf_oss_csv.dlf_data_catalogue: ID katalog data DLF. Untuk informasi selengkapnya, lihat Create a data catalog. Contoh:
122****.dlf_database: nama database dalam katalog data DLF yang ditentukan. Untuk informasi selengkapnya, lihat Databases, tables, and functions. Contoh:
dlf_oss_csv.
Langkah 6: Gunakan SQL untuk mengakses data OSS
Masuk ke klien MaxCompute dan kueri tabel dalam skema eksternal.
SET odps.namespace.schema=true;
USE schema es_dlf_oss_csv;
SHOW tables IN es_dlf_oss_csv;
-- The following result is returned:
ALIYUN$xxx:mc_dlf_oss_pt
OKKueri detail tabel mc_dlf_oss_pt dalam skema eksternal.
SET odps.namespace.schema=true;
SELECT * FROM <project_name>.es_dlf_oss_csv.mc_dlf_oss_pt WHERE direction='NE';
-- The following result is returned:
+------------+------------+------------+------------+------------+------------+----------------+------------+
| _c0 | _c1 | _c2 | _c3 | _c4 | _c5 | _c6 | direction |
+------------+------------+------------+------------+------------+------------+----------------+------------+
| 1 | 2 | 13 | 1 | 46.81006 | -92.08174 | 9/14/2014 0:00 | NE |
| 1 | 3 | 48 | 1 | 46.81006 | -92.08174 | 9/14/2014 0:00 | NE |
| 1 | 9 | 4 | 1 | 46.81006 | -92.08174 | 9/15/2014 0:00 | NE |
+------------+------------+------------+------------+------------+------------+----------------+------------+Langkah 7: Salin data dari tabel eksternal terfederasi ke gudang data
Salin data dari tabel eksternal terfederasi ke gudang data.
CREATE TABLE vehicle_copy AS SELECT * FROM <project_name>.es_dlf_oss_csv.mc_dlf_oss_pt WHERE direction='NE';Kueri data dari tabel di gudang data.
SELECT * FROM vehicle_copy; -- The following result is returned: +------------+------------+------------+------------+------------+------------+----------------+------------+ | _c0 | _c1 | _c2 | _c3 | _c4 | _c5 | _c6 | direction | +------------+------------+------------+------------+------------+------------+----------------+------------+ | 1 | 2 | 13 | 1 | 46.81006 | -92.08174 | 9/14/2014 0:00 | NE | | 1 | 3 | 48 | 1 | 46.81006 | -92.08174 | 9/14/2014 0:00 | NE | | 1 | 9 | 4 | 1 | 46.81006 | -92.08174 | 9/15/2014 0:00 | NE | +------------+------------+------------+------------+------------+------------+----------------+------------+