Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server 2019 (15.x)
Important
I cluster Big Data di Microsoft SQL Server 2019 sono stati ritirati. Il supporto per i cluster Big Data di SQL Server 2019 è terminato a partire dal 28 febbraio 2025. Per altre informazioni, vedere il post di blog sull'annuncio e le opzioni per Big Data nella piattaforma Microsoft SQL Server.
Questa esercitazione illustra come eseguire query sui dati HDFS in un cluster Big Data di SQL Server 2019.
In questa esercitazione si apprenderà come:
- Creare una tabella esterna che punta ai dati HDFS in un cluster di dati massivi.
- Unire questi dati con dati di valore elevato nell'istanza master.
Tip
Se si preferisce, è possibile scaricare ed eseguire uno script per i comandi di questa esercitazione. Per istruzioni, vedere gli esempi di virtualizzazione dei dati in GitHub.
Questo video di 7 minuti illustra l'esecuzione di query sui dati HDFS in un cluster Big Data:
Prerequisites
-
Strumenti per Big Data
- kubectl
- Azure Data Studio
- Estensione SQL Server 2019
- Caricare dati di esempio nel cluster Big Data
Creare una tabella esterna su HDFS
Il pool di archiviazione contiene dati clickstream Web in un file CSV archiviato in HDFS. Usare la procedura seguente per definire una tabella esterna in grado di accedere ai dati in tale file.
In Azure Data Studio, collegarsi all'istanza master di SQL Server del cluster di Big Data. Per altre informazioni, vedere Connettersi all'istanza master di SQL Server.
Fare doppio clic sulla connessione nella finestra Server per visualizzare il dashboard del server per l'istanza master di SQL Server. Selezionare Nuova query.
Eseguire il comando Transact-SQL seguente per modificare il contesto nel database Sales nell'istanza master.
USE Sales GODefinire il formato del file CSV da leggere da HDFS. Premere F5 per eseguire il comando.
CREATE EXTERNAL FILE FORMAT csv_file WITH ( FORMAT_TYPE = DELIMITEDTEXT, FORMAT_OPTIONS( FIELD_TERMINATOR = ',', STRING_DELIMITER = '"', FIRST_ROW = 2, USE_TYPE_DEFAULT = TRUE) );Creare un'origine dati esterna per il pool di archiviazione, se non esiste già.
IF NOT EXISTS(SELECT * FROM sys.external_data_sources WHERE name = 'SqlStoragePool') BEGIN CREATE EXTERNAL DATA SOURCE SqlStoragePool WITH (LOCATION = 'sqlhdfs://controller-svc/default'); ENDCreare una tabella esterna che legga
/clickstream_datadal pool di archiviazione. SqlStoragePool è accessibile dall'istanza master di un cluster Big Data.CREATE EXTERNAL TABLE [web_clickstreams_hdfs] ("wcs_click_date_sk" BIGINT , "wcs_click_time_sk" BIGINT , "wcs_sales_sk" BIGINT , "wcs_item_sk" BIGINT , "wcs_web_page_sk" BIGINT , "wcs_user_sk" BIGINT) WITH ( DATA_SOURCE = SqlStoragePool, LOCATION = '/clickstream_data', FILE_FORMAT = csv_file ); GO
Eseguire una query sui dati
Eseguire la query seguente per unire i dati HDFS nella web_clickstream_hdfs tabella esterna con i dati relazionali nel database locale Sales .
SELECT
wcs_user_sk,
SUM( CASE WHEN i_category = 'Books' THEN 1 ELSE 0 END) AS book_category_clicks,
SUM( CASE WHEN i_category_id = 1 THEN 1 ELSE 0 END) AS [Home & Kitchen],
SUM( CASE WHEN i_category_id = 2 THEN 1 ELSE 0 END) AS [Music],
SUM( CASE WHEN i_category_id = 3 THEN 1 ELSE 0 END) AS [Books],
SUM( CASE WHEN i_category_id = 4 THEN 1 ELSE 0 END) AS [Clothing & Accessories],
SUM( CASE WHEN i_category_id = 5 THEN 1 ELSE 0 END) AS [Electronics],
SUM( CASE WHEN i_category_id = 6 THEN 1 ELSE 0 END) AS [Tools & Home Improvement],
SUM( CASE WHEN i_category_id = 7 THEN 1 ELSE 0 END) AS [Toys & Games],
SUM( CASE WHEN i_category_id = 8 THEN 1 ELSE 0 END) AS [Movies & TV],
SUM( CASE WHEN i_category_id = 9 THEN 1 ELSE 0 END) AS [Sports & Outdoors]
FROM [dbo].[web_clickstreams_hdfs]
INNER JOIN item it ON (wcs_item_sk = i_item_sk
AND wcs_user_sk IS NOT NULL)
GROUP BY wcs_user_sk;
GO
Clean up
Usare il comando seguente per rimuovere la tabella esterna usata in questa esercitazione.
DROP EXTERNAL TABLE [dbo].[web_clickstreams_hdfs];
GO
Next steps
Passare all'articolo successivo per informazioni su come eseguire query su Oracle da un cluster Big Data.