Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:Azure Synapse Analytics
Tujuan Azure Synapse Pathway adalah untuk mempertahankan niat fungsi dari kode asli sambil mengoptimalkan Synapse SQL. Synapse Pathway menggunakan proses tiga tahap untuk menerjemahkan kode SQL dari sistem sumber ke Azure Synapse SQL.
Masing-masing tahap mempertahankan dan menambah pengetahuan tentang sumber termasuk metadata khusus sumber untuk memastikan kualitas tertinggi dalam terjemahan.
Tahap 1 – Lexing dan penguraian
Penguraian Bahasa SQL adalah masalah yang telah diselesaikan berkali-kali. Ada banyak pengurai komersial dan sumber terbuka yang membantu proses yang mendasar untuk mengambil pernyataan sumber, memecahnya menjadi token logis dan kemudian menjalankan terhadap seperangkat atau aturan pengurai untuk memastikan konsistensi bahasa.
Synapse Pathway mendefinisikan tata bahasa sumber yang memungkinkan alat mengidentifikasi dan memproses input SQL menjadi Pohon Sintaks Abstrak Tertambah (AST) yang digunakan dalam pemrosesan lebih lanjut.
Tahap 2 - Augmented pohon sintaks abstrak (AST)
Synapse Pathway mendefinisikan representasi umum dari semua objek dalam Pohon Sintaks Abstrak Tertambah (AST). Pathway AST mencakup metadata dari pernyataan atau fragmen lain untuk membantu konversi pernyataan yang tepat.
Dengan tidak hanya melacak bahwa token adalah fungsi melainkan persyaratan jenis sistem sumber, komponen pembuatan skrip dapat membuat keputusan yang lebih cerdas tentang menerjemahkan ke Synapse SQL.
Misalnya, fungsi sumber untuk fungsi absolut didefinisikan sebagai:
ABS( float_expression )
Azure Synapse SQL mendefinisikan fungsi absolut sebagai:
ABS ( numeric_expression )
Dalam hal sederhana ini, Synapse Pathway memahami bahwa konversi dalam Synapse SQL dari float ke numerik adalah konversi implisit dan tidak memerlukan transmisi jenis lebih lanjut. Terjemahan kode sederhana, bersih, dan efektif.
Menyimpan meta-informasi ini tentang pernyataan sumber dan fragmen membantu perbedaan struktural antara platform - konversi dalam logika opt-out untuk predikat kondisi pencarian dalam klausul WHERE misalnya.
Tahap 3 - Pembuatan sintaks
Tahap terakhir dari proses ini adalah menghasilkan sintaks untuk Synapse SQL. Menggunakan struktur AST yang dihasilkan dari file sumber, Synapse Pathway menulis setiap objek DDL ke file individual. Generator sintaks menggunakan pengetahuan mendalam tentang platform target untuk mengoptimalkan pernyataan.
Misalnya, pola umum yang terlihat dalam skenario pemuatan data adalah terlebih dahulu menghapus semua konten dalam tabel penahapan lalu memuat data dari tabel penahapan lain dengan cara INSERT/SELECT.
DELETE staging.table1 ALL;
INSERT INTO staging.table1…
FROM staging.table2;
Synapse SQL memiliki jalur yang dioptimalkan untuk skenario ini – CREATE TABLE AS SELECT. Pernyataan CTAS adalah operasi berbasis batch yang dicatat secara minimal, yang mendorong performa tinggi dengan menggunakan semua infrastruktur komputasi yang tersedia. Tanpa wawasan ini tentang Synapse SQL, alat sering menghasilkan pernyataan TRUNCATE dan INSERT/SELECT.
TRUNCATE TABLE staging.table1;
INSERT INTO staging.table1…
FROM staging.table2;
Meskipun tidak buruk, kode ini dapat dioptimalkan ke DROP TABLE dan CTAS untuk memiliki performa yang lebih tinggi.
DROP TABLE staging.table1;
CREATE TABLE staging.table1
WITH
(
-- Derived from the original table definition
DISTRIBUTION = HASH(column1),
-- Derived from the original table definition
CLUSTERED COLUMNSTORE INDEX
)
AS SELECT * FROM staging.table2;