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: SQL Server 2019 (15.x)
Important
Kluster Big Data Microsoft SQL Server 2019 dihentikan. Dukungan untuk Kluster Big Data SQL Server 2019 berakhir per 28 Februari 2025. Untuk informasi selengkapnya, lihat posting blog pengumuman dan Opsi big data di platform Microsoft SQL Server.
Tutorial ini menunjukkan cara menggunakan Transact-SQL untuk memuat data ke dalam kumpulan data Kluster Big Data SQL Server 2019. Dengan Kluster Big Data SQL Server, data dari berbagai sumber dapat diserap dan didistribusikan di seluruh instans kumpulan data.
Dalam tutorial ini, Anda akan belajar cara:
- Buat tabel eksternal di kumpulan data.
- Sisipkan sampel data clickstream web ke dalam tabel kumpulan data.
- Gabungkan data dalam tabel kumpulan data dengan tabel lokal.
Tip
Jika mau, Anda dapat mengunduh dan menjalankan skrip untuk perintah dalam tutorial ini. Untuk petunjuknya, lihat Sampel kumpulan data di GitHub.
Prerequisites
-
Alat big data
- kubectl
- Azure Data Studio
- Ekstensi SQL Server 2019
- Memuat data sampel ke dalam kluster big data Anda
Membuat tabel eksternal di kumpulan data
Langkah-langkah berikut membuat tabel eksternal di kumpulan data bernama web_clickstream_clicks_data_pool. Tabel ini kemudian dapat digunakan sebagai lokasi untuk menyerap data ke dalam kluster big data.
Di Azure Data Studio, sambungkan ke instans master SQL Server dari kluster big data Anda. Untuk informasi selengkapnya, lihat Menyambungkan ke instans master SQL Server.
Klik dua kali pada koneksi di jendela Server untuk menampilkan dasbor server untuk instans master SQL Server. Pilih Kueri Baru.
Jalankan perintah Transact-SQL berikut untuk mengubah konteks ke database Penjualan dalam instans master.
USE Sales GOBuat sumber data eksternal ke kumpulan data jika belum ada.
IF NOT EXISTS(SELECT * FROM sys.external_data_sources WHERE name = 'SqlDataPool') CREATE EXTERNAL DATA SOURCE SqlDataPool WITH (LOCATION = 'sqldatapool://controller-svc/default');Buat tabel eksternal bernama web_clickstream_clicks_data_pool di kumpulan data.
IF NOT EXISTS(SELECT * FROM sys.external_tables WHERE name = 'web_clickstream_clicks_data_pool') CREATE EXTERNAL TABLE [web_clickstream_clicks_data_pool] ("wcs_user_sk" BIGINT , "i_category_id" BIGINT , "clicks" BIGINT) WITH ( DATA_SOURCE = SqlDataPool, DISTRIBUTION = ROUND_ROBIN );
Pembuatan tabel eksternal kumpulan data adalah operasi pemblokiran. Kontrol kembali ketika tabel yang ditentukan telah dibuat pada semua node kumpulan data backend. Jika kegagalan terjadi selama operasi buat, pesan kesalahan dikembalikan ke pemanggil.
Load data
Langkah-langkah berikut ini menyerap sampel data clickstream web ke dalam kumpulan data menggunakan tabel eksternal yang dibuat di langkah-langkah sebelumnya.
INSERT INTOGunakan pernyataan untuk menyisipkan hasil dari kueri ke dalam kumpulan data (tabel eksternal web_clickstream_clicks_data_pool).INSERT INTO web_clickstream_clicks_data_pool SELECT wcs_user_sk, i_category_id, COUNT_BIG(*) as clicks FROM sales.dbo.web_clickstreams_hdfs INNER JOIN sales.dbo.item it ON (wcs_item_sk = i_item_sk AND wcs_user_sk IS NOT NULL) GROUP BY wcs_user_sk, i_category_id HAVING COUNT_BIG(*) > 100;Periksa data yang disisipkan dengan dua kueri SELECT.
SELECT count(*) FROM [dbo].[web_clickstream_clicks_data_pool] SELECT TOP 10 * FROM [dbo].[web_clickstream_clicks_data_pool]
Kueri data
Gabungkan hasil yang disimpan dari kueri di kumpulan data dengan data lokal dalam tabel Penjualan .
SELECT TOP (100)
w.wcs_user_sk,
SUM( CASE WHEN i.i_category = 'Books' THEN 1 ELSE 0 END) AS book_category_clicks,
SUM( CASE WHEN w.i_category_id = 1 THEN 1 ELSE 0 END) AS [Home & Kitchen],
SUM( CASE WHEN w.i_category_id = 2 THEN 1 ELSE 0 END) AS [Music],
SUM( CASE WHEN w.i_category_id = 3 THEN 1 ELSE 0 END) AS [Books],
SUM( CASE WHEN w.i_category_id = 4 THEN 1 ELSE 0 END) AS [Clothing & Accessories],
SUM( CASE WHEN w.i_category_id = 5 THEN 1 ELSE 0 END) AS [Electronics],
SUM( CASE WHEN w.i_category_id = 6 THEN 1 ELSE 0 END) AS [Tools & Home Improvement],
SUM( CASE WHEN w.i_category_id = 7 THEN 1 ELSE 0 END) AS [Toys & Games],
SUM( CASE WHEN w.i_category_id = 8 THEN 1 ELSE 0 END) AS [Movies & TV],
SUM( CASE WHEN w.i_category_id = 9 THEN 1 ELSE 0 END) AS [Sports & Outdoors]
FROM [dbo].[web_clickstream_clicks_data_pool] as w
INNER JOIN (SELECT DISTINCT i_category_id, i_category FROM item) as i
ON i.i_category_id = w.i_category_id
GROUP BY w.wcs_user_sk;
Clean up
Gunakan perintah berikut untuk menghapus objek database yang dibuat dalam tutorial ini.
DROP EXTERNAL TABLE [dbo].[web_clickstream_clicks_data_pool];
Next steps
Pelajari tentang cara menyerap data ke dalam kumpulan data dengan pekerjaan Spark: