Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server 2019 (15.x)
Important
Os Clusters de Big Data do Microsoft SQL Server 2019 foram desativados. O suporte para clusters de Big Data do SQL Server 2019 terminou em 28 de fevereiro de 2025. Para obter mais informações, consulte a postagem no blog de anúncios e as opções de Big Data na plataforma microsoft SQL Server.
Este tutorial demonstra como consultar dados do HDFS em um Clusters de Big Data do SQL Server 2019.
Neste tutorial, você aprenderá como:
- Criar uma tabela externa apontando para os dados do HDFS em um cluster de Big Data.
- Unir esses dados com os dados de alto valor na instância mestre.
Tip
Se preferir, você poderá baixar e executar um script para os comandos neste tutorial. Para obter instruções, confira os Exemplos de virtualização de dados no GitHub.
Este vídeo de 7 minutos orienta você pela consulta de dados do HDFS em um cluster de Big Data:
Prerequisites
-
Ferramentas de Big Data
- kubectl
- Azure Data Studio
- Extensão do SQL Server 2019
- Carregar dados de exemplo em seu cluster de Big Data
Criar uma tabela externa no HDFS
O pool de armazenamento contém dados de cliques da Web em um arquivo CSV armazenado no HDFS. Use as etapas a seguir para definir uma tabela externa que pode acessar os dados nesse arquivo.
No Azure Data Studio, conecte-se à instância mestre do SQL Server do cluster de Big Data. Para obter mais informações, confira Conectar-se à instância mestre do SQL Server.
Clique duas vezes na conexão na janela Servidores para mostrar o painel do servidor da instância mestre do SQL Server. Selecione Nova Consulta.
Execute o seguinte comando Transact-SQL para alterar o contexto para o banco de dados Vendas na instância mestre.
USE Sales GODefina o formato do arquivo CSV a ser lido no HDFS. Pressione F5 para executar a instrução.
CREATE EXTERNAL FILE FORMAT csv_file WITH ( FORMAT_TYPE = DELIMITEDTEXT, FORMAT_OPTIONS( FIELD_TERMINATOR = ',', STRING_DELIMITER = '"', FIRST_ROW = 2, USE_TYPE_DEFAULT = TRUE) );Crie uma fonte de dados externos para o pool de armazenamento se ela ainda não existir.
IF NOT EXISTS(SELECT * FROM sys.external_data_sources WHERE name = 'SqlStoragePool') BEGIN CREATE EXTERNAL DATA SOURCE SqlStoragePool WITH (LOCATION = 'sqlhdfs://controller-svc/default'); ENDCrie uma tabela externa que possa ler o
/clickstream_datado pool de armazenamento. O SqlStoragePool pode ser acessado da instância mestre de um cluster de 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
Consultar os dados
Execute a consulta a seguir para unir os dados do HDFS na tabela externa web_clickstream_hdfs com os dados relacionais no banco de dados Sales local.
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
Use o comando a seguir para remover a tabela externa usada neste tutorial.
DROP EXTERNAL TABLE [dbo].[web_clickstreams_hdfs];
GO
Next steps
Avance para o próximo artigo para saber como consultar o Oracle de um cluster de Big Data.