Operasi API DataWorks (2024-05-18) mendukung kueri berbagai entitas metadata. Topik ini menjelaskan konsep terkait entitas metadata.
Objek entitas metadata
Data Map mengumpulkan dan mengelola objek entitas metadata dari berbagai jenis dan tingkat (subtipe) menggunakan crawler metadata. Untuk informasi lebih lanjut tentang jenis crawler yang didukung, lihat Jenis crawler yang didukung.
Data Map mendukung tingkat entitas metadata berikut berdasarkan struktur tingkat metadata:
Catalog
Database
Skema
Tabel
Kolom
Tingkat entitas bervariasi berdasarkan jenis crawler.
Jenis crawler yang didukung
Pengenal | Nama tampilan | Tingkat entitas metadata yang didukung | Catatan | ||||
Catalog | DataBase | Skema | Tabel | Kolom | |||
| MaxCompute | ❌ | ❌ | ✅ | ✅ | ✅ |
|
| Data Lake Formation | ✅ | ✅ | ❌ | ✅ | ✅ | Crawler default disediakan untuk mengidentifikasi semua entitas metadata dalam akun Alibaba Cloud Anda. |
| HMS | ❌ | ✅ | ❌ | ✅ | ✅ |
|
| Hologres | ❌ | ✅ | ✅ | ✅ | ✅ | - |
| MySQL | ❌ | ✅ | ❌ | ✅ | ✅ | - |
| Oracle | ❌ | ✅ | ✅ | ✅ | ✅ | - |
| PostgreSQL | ❌ | ✅ | ✅ | ✅ | ✅ | - |
| SQL Server | ❌ | ✅ | ✅ | ✅ | ✅ | - |
| AnalyticDB MySQL | ❌ | ✅ | ❌ | ✅ | ✅ | Jenis crawler ini dapat digunakan untuk mengumpulkan metadata dari sumber data analyticdb_for_mysql dan analyticdb_for_spark. |
| AnalytidDB MySQL 2.0 | ❌ | ✅ | ❌ | ✅ | ✅ | - |
| AnalyticDB PostgreSQL | ❌ | ✅ | ✅ | ✅ | ✅ | - |
| OTS | ❌ | ✅ | ❌ | ✅ | ✅ | - |
| ClickHouse | ❌ | ✅ | ❌ | ✅ | ✅ | - |
| StarRocks | ✅ | ✅ | ❌ | ✅ | ✅ | Catalog didukung. Jenis crawler ini dapat digunakan untuk menanyakan entitas metadata hanya di dalam catalog internal. |
| Lindorm | ❌ | ✅ | ❌ | ✅ | ✅ | - |
Tipe entitas (EntityType)
EntityType adalah pengenal tipe entitas metadata. Nilai EntityType dalam format ${CrawlerType}-${SubType}.
CrawlerTypeadalah pengenal tipe crawler. Sebagai contoh, nilai CrawlerType bisa jadimysql,maxcompute,dlf, atauholo.SubTypeadalah pengenal subtipe entitas metadata. Sebagai contoh, nilai SubType bisa jadicatalog,database,schema,table, ataucolumn.
Jika tabel MaxCompute digunakan, nilai EntityType adalah maxcompute-table.
ID Entitas Metadata (MetaEntityId)
MetaEntityId: menunjukkan pengenal objek entitas metadata. Pengenal tersebut memiliki karakteristik keterbacaan, keunikan, dan kemampuan ekstensibilitas.
Contoh metadata crawler dan objek entitas dari catalog, database, skema, tabel, dan kolom didukung.
ID entitas metadata berfungsi sebagai pengenal unik entitas. Anda dapat memisahkan pengenal di setiap tingkat dengan titik dua (:). String kosong digunakan sebagai placeholder untuk tingkat yang tidak didukung.
Contoh metadata crawler
ID entitas metadata crawler: pengenal unik ID entitas metadata.
Untuk tipe crawler
MaxComputedanDLF, crawler default disediakan untuk semua entitas metadata dalam tenant atau akun Alibaba Cloud. ID entitas metadata crawler dalam format${CrawlerType}.Untuk tipe crawler lainnya yang harus dibuat secara manual, ID entitas metadata crawler dalam format
${CrawlerType}:${MetaSourceId}.CrawlerType: pengenal tipe crawler. Sebagai contoh, nilai CrawlerType bisa jadiholoataumysql.MetaSourceId: pengenal sumber metadata.Mode instans: sesuai dengan ID instans atau ID kluster.
Mode URL: sesuai dengan URL yang dienkripsi URL (Jdbc Url atau Endpoint).
Contoh:
Untuk tipe
MaxCompute, ID entitas metadata crawler adalahmaxcompute.Untuk tipe
Hologresdalam mode instans, jika ID instans adalahi-z6j3kxxx7, ID entitas metadata crawler adalahholo:i-z6j3kxxx7.Untuk tipe
MySQLdalam mode URL, jika URL adalah jdbc:mysql://47.0.X.X:3306/test_db, ID entitas metadata crawler adalah mysql:jdbc%3Amysql%3A%2F%2F47.0.X.X%3A3306%2Ftest_db.
Entitas metadata terkait tabel data
Format ID entitas metadata adalah ${EntityType}:${MetaSourceId}:${Catalog}:${Database}:${Schema}:${Table}:${Column}. Ini mencakup elemen-elemen berikut:
Tingkat | Properti | Deskripsi |
- |
| Pengenal tipe entitas. |
- |
|
Untuk tipe |
Catalog |
| Pengenal catalog. Untuk tipe StarRocks, ini adalah nama catalog. Untuk tipe DLF, ini adalah ID catalog. Untuk tipe lainnya, string kosong digunakan sebagai placeholder. |
Database |
| Nama database. |
Skema |
| Nama skema. Untuk tipe yang tidak mendukung skema, string kosong digunakan sebagai placeholder. Untuk tipe |
Tabel |
| Nama tabel data. |
Kolom |
| Nama bidang. |
Contoh entitas metadata
Berikut adalah contoh ID entitas metadata di berbagai tingkat termasuk MaxCompute, DLF, HMS, Hologres, dan MySQL.
Dalam contoh ID berikut, Anda dapat memisahkan pengenal di setiap tingkat dengan titik dua (:). String kosong digunakan sebagai placeholder untuk tingkat yang tidak didukung.
MaxCompute
Hanya proyek MaxCompute dengan model skema yang diaktifkan yang mendukung tingkat skema, dan memerlukan nama skema diberikan di posisi yang sesuai dalam ID tabel data dan bidang.
Proyek MaxCompute tanpa model skema yang diaktifkan tidak mendukung tingkat skema, dan string kosong digunakan sebagai placeholder di posisi yang sesuai dalam ID tabel data dan bidang.
Untuk proyek project_name (dengan model skema yang diaktifkan), skema schema_name, tabel table_name, dan kolom column_name, ID entitas di setiap tingkat adalah sebagai berikut:
Tingkat | ID |
Metadata Instans Crawler |
|
Proyek |
|
Skema |
|
Tabel data |
|
Kolom |
|
Untuk proyek project_name (tanpa model skema yang diaktifkan), tabel table_name, dan kolom column_name, ID entitas di setiap tingkat adalah sebagai berikut:
Tingkat | ID |
Instansi metadata crawler |
|
Proyek |
|
Tabel data |
|
Kolom |
|
DLF
Untuk katalog catalog_id, database database_name, tabel table_name, dan kolom column_name, ID entitas di setiap tingkat adalah sebagai berikut:
Tingkat | ID |
Metadata Instans Perayap |
|
Catalog |
|
Database |
|
Tabel data |
|
Kolom |
|
HMS
Untuk instans kluster EMR c-a1b2c3xxx, database test_db, tabel test_tbl, dan kolom test_col, ID entitas di setiap tingkat adalah sebagai berikut:
Tingkat | ID |
Instansi metadata crawler |
|
Database |
|
Tabel data |
|
Kolom |
|
Hologres
Dalam contoh ini, instans Hologres hgpostcn-cn-a1b2c3xxx, database test_db, skema test_schema, tabel data test_tbl, dan kolom test_col digunakan. Tabel berikut menjelaskan ID entitas di setiap tingkat.
Tingkat | ID |
Instans metadata Crawler |
|
Proyek |
|
Skema |
|
Tabel data |
|
Kolom |
|
MySQL
Untuk string koneksi sumber data MySQL jdbc:mysql://47.0.X.X:3306/test_db, database test_db, tabel test_tbl, dan kolom test_col, ID entitas di setiap tingkat adalah sebagai berikut (MetaSourceId dibuat dengan mengenkripsi URL string koneksi JDBC):
Tingkat | ID |
Instansi metadata crawler |
|
Database |
|
Tabel data |
|
Kolom |
|