Tabel eksternal MaxCompute memungkinkan Anda menjalankan kueri dan menganalisis data yang disimpan di sistem penyimpanan eksternal seperti OSS.
Cara kerja
MaxCompute SQL memproses data offline berskala exabyte. Seiring beban kerja data besar terus berkembang, data semakin banyak berada di data lake, gudang data real-time, database NoSQL, dan sistem lainnya.
MaxCompute mendukung skenario gudang data maupun data lake melalui arsitektur penyimpanan dan komputasi terdistribusinya. Terdapat dua mode untuk memproses data eksternal:
Mode 1: Impor lalu komputasi
Impor data ke dalam MaxCompute. Data terstruktur disimpan sebagai tabel untuk kueri SQL atau akses oleh mesin pihak ketiga. Data tidak terstruktur juga dapat disimpan dan diproses di MaxCompute guna mencapai efisiensi I/O yang lebih tinggi.
Mode 2: Komputasi langsung di tempat asal
Gunakan MaxCompute SQL sebagai mesin komputasi untuk menjalankan kueri langsung pada data di penyimpanan eksternal, seperti data lake.
MaxCompute menyediakan tata kelola gudang data yang kuat serta terintegrasi dengan sistem penyimpanan eksternal. Tabel eksternal merupakan mekanisme utama untuk mengakses data eksternal.
Definisi dan mekanisme
Pernyataan DDL mendefinisikan nama tabel, skema, properti, izin, lokasi, dan protokol untuk mengakses data eksternal. Metadata ini disimpan di MaxCompute.
Kueri SQL menggunakan metadata tersebut untuk terhubung ke sumber data eksternal, mengambil atau memperbarui metadata, serta membaca, menghitung, atau menulis data.
Kasus penggunaan
Tabel eksternal memungkinkan komputasi langsung pada data eksternal, pengelolaan sumber data eksternal dalam tata kelola MaxCompute, serta pemrosesan batch data lake (baik terstruktur maupun tidak terstruktur), pertukaran data, dan pengarsipan gudang data real-time.
Penagihan
Biaya penyimpanan
Tidak dikenakan biaya penyimpanan.
Data tabel eksternal tetap berada di sistem eksternal dan tidak disalin ke MaxCompute. MaxCompute tidak membebankan biaya penyimpanan untuk tabel eksternal. Periksa aturan penagihan dari sumber data eksternal Anda terkait biaya penyimpanannya.
Biaya komputasi
Biaya komputasi mengikuti aturan penagihan sumber daya komputasi MaxCompute:Sumber daya CU berlangganan atau reservasi:
Biaya komputasi tabel eksternal termasuk dalam biaya sumber daya komputasi prabayar.
Pay-as-you-go:
Pekerjaan SQL yang mereferensikan tabel eksternal (termasuk pekerjaan OSS, OTS, Hologres, HBase, JDBC (seperti RDS), HDFS, OSSHDFS, dan Object Table).
Biaya jaringan
Menghubungkan ke tabel eksternal melalui titik akhir publik MaxCompute akan menghasilkan traffic jaringan publik dan biaya unduh. Item yang dikenai biaya dan metode penagihan.
Biaya sumber data eksternal
Sumber data eksternal mungkin membebankan biaya komputasi, akses, atau transfer data. Periksa aturan penagihan layanan terkait.
Lingkup
Tunnel dan Tunnel SDK saat ini tidak mendukung tabel eksternal. Unggah data ke tabel internal MaxCompute melalui Tunnel, atau unggah ke OSS melalui OSS Python SDK lalu petakan datanya dengan tabel eksternal di MaxCompute.
Tabel eksternal mendukung penulisan data ke sumber data eksternal, tetapi kemampuan menulis dan konsistensinya bergantung pada keterbatasan sistem eksternal:
Hologres: MaxCompute mengakses metadata Hologres melalui JDBC dan tidak dapat menjamin atomisitas transaksi tulis. Mesin SQL MaxCompute dapat membaca data Pangu Hologres secara langsung tetapi tidak dapat menulis ke dalamnya. Karena kompleksitas penulisan paralel multi-proses terdistribusi, MaxCompute tidak mendukung
INSERT OVERWRITEuntuk Hologres, dan kegagalan pekerjaan dapat mengakibatkan penulisan data sebagian.HDFS: Juga berbasis HMS. Penulisan ke HDFS memiliki probabilitas kecil terjadinya inkonsistensi.
OSS: Penulisan tabel eksternal OSS menggunakan file metadata .odps untuk mengurangi kemungkinan penulisan tidak lengkap. Jika Anda menonaktifkan file metadata .odps demi kompatibilitas mesin, penulisan juga memiliki probabilitas kecil menjadi tidak lengkap.
Saat Anda menggunakan
INSERT OVERWRITEuntuk menulis data eksternal, MaxCompute terlebih dahulu menulis data baru, lalu menghapus data yang ada di tabel atau partisi selama fase commit DDL, dan menggantinya dengan data baru. Data yang dihapus tidak dapat dikembalikan. Cadangkan data Anda sebelum menulis, dan validasi hasil setelah proses penulisan selesai. Jika terjadi masalah, jalankan ulang proses penulisan penuh.
Referensi
Tabel eksternal yang didukung
MaxCompute mendukung tabel eksternal untuk OSS, Hologres, RDS, dan layanan lainnya:
Contoh tabel eksternal
Contoh berikut menunjukkan cara memproses data tidak terstruktur dengan tabel eksternal MaxCompute:
Akses data tidak terstruktur OSS dan TableStore (OTS): Tabel eksternal OSS dan Akses data tidak terstruktur OTS.
Menyesuaikan otorisasi RAM agar MaxCompute dapat mengakses OSS melalui tabel eksternal: Otorisasi sumber data eksternal.
Menulis data MaxCompute ke OSS menggunakan INSERT: Tabel eksternal OSS.
Memproses data dalam format open-source: Tabel eksternal OSS.
Menggunakan DataWorks dengan MaxCompute untuk membuat, mencari, menjalankan kueri, mengonfigurasi, memproses, dan menganalisis tabel eksternal secara visual: Tabel eksternal.