Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:✅ Armazém no Microsoft Fabric
O Warehouse na Microsoft Fabric fornece ferramentas integradas de ingestão de dados. Utilize estas ferramentas para integrar dados em armazéns em grande escala, utilizando experiências sem código ou ricas em código.
Escolha uma ferramenta de ingestão de dados
Escolha uma opção de ingestão de dados com base nos seguintes critérios:
- Use a instrução COPY (Transact-SQL) para operações de ingestão de dados ricas em código. Proporciona a maior taxa de ingestão de dados. Usa-o quando precisares de adicionar a ingestão de dados como parte da tua lógica Transact-SQL.
- Para começar, veja Ingestão de dados usando a instrução COPY.
- O Armazém também suporta a declaração tradicional
BULK INSERT, que é sinónimo deCOPY INTOcom as opções clássicas de carregamento. - A
COPYdeclaração no Warehouse suporta fontes de dados provenientes de contas de armazenamento do Azure e das pastas do OneLake lakehouse.
- Use pipelines para fluxos de trabalho robustos de ingestão de dados sem código ou com pouco código que executam-se repetidamente, de acordo com um calendário, ou que envolvem grandes volumes de dados.
- Para começar, veja Ingestão de dados no seu armazém de dados usando pipelines.
- Ao utilizar pipelines, pode orquestrar fluxos de trabalho robustos para uma experiência completa de Extração, Transformação, Carregamento (ETL). Esta experiência inclui atividades para ajudar a preparar o ambiente de destino, executar instruções de Transact-SQL personalizadas, realizar pesquisas ou copiar dados de uma fonte para um destino.
- Use fluxos de dados para uma experiência sem necessidade de código que permita transformações personalizadas nos dados de origem antes da ingestão.
- Para começar, veja Ingerir dados usando um fluxo de dados.
- Essas transformações incluem (mas não estão limitadas a) alterar tipos de dados, adicionar ou remover colunas ou usar funções para produzir colunas calculadas.
- Use a ingestão de T-SQL para experiências ricas em código para criar novas tabelas ou atualizar as existentes com dados de origem no mesmo espaço de trabalho ou armazenamento externo.
- Para começar, veja Ingerir dados no seu Armazém de Dados usando Transact-SQL.
- Use Transact-SQL funcionalidades como
INSERT...SELECT,SELECT INTOouCREATE TABLE AS SELECT (CTAS)para ler dados de tabelas que referenciam outros armazéns, casas de lago ou bases de dados espelhadas dentro do mesmo espaço de trabalho. Também pode usar estas funcionalidades para ler dados da funçãoOPENROWSETque faz referência a ficheiros em contas externas de armazenamento Azure. - Também pode escrever consultas entre bases de dados entre diferentes armazéns no seu espaço de trabalho Fabric.
Formatos e fontes de dados suportados
A ingestão de dados para o Warehouse no Microsoft Fabric suporta muitos formatos e fontes de dados. Cada opção descrita neste artigo inclui a sua própria lista de tipos de conectores de dados suportados e formatos de dados.
Para a ingestão T-SQL, as fontes de dados das tabelas devem estar dentro do mesmo espaço de trabalho Microsoft Fabric, e as fontes de dados de ficheiros devem estar em armazenamento Azure Data Lake ou Azure Blob. Pode consultar dados usando nomenclatura de três partes ou a função OPENROWSET para os dados de origem. As fontes de dados de tabela podem referenciar conjuntos de dados Delta Lake, enquanto OPENROWSET pode referenciar ficheiros Parquet, CSV ou JSONL em armazenamento Azure Data Lake ou Azure Blob.
Por exemplo, suponha que um espaço de trabalho tem dois armazéns, chamados Inventory e Sales. Uma consulta como a seguinte cria uma nova tabela no Inventory armazém com o conteúdo de uma tabela no Inventory armazém unido a uma tabela do Sales armazém, e com ficheiros externos contendo informações do cliente:
CREATE TABLE Inventory.dbo.RegionalSalesOrders
AS
SELECT
s.SalesOrders,
i.ProductName,
c.CustomerName
FROM Sales.dbo.SalesOrders s
JOIN Inventory.dbo.Products i
ON s.ProductID = i.ProductID
JOIN OPENROWSET( BULK 'abfss://<container>@<storage>.dfs.core.windows.net/<customer-file>.csv' ) AS c
ON s.CustomerID = c.CustomerID
WHERE s.Region = 'West region';
Note
Ler dados com OPENROWSET pode ser mais lento do que consultar dados de uma tabela. Se você planeja acessar os mesmos dados externos repetidamente, considere ingeri-los em uma tabela dedicada para melhorar o desempenho e a eficiência da consulta.
A instrução COPY (Transact-SQL) suporta atualmente os formatos de ficheiro CSV, JSONL e PARQUET. Para fontes de dados, atualmente o Azure Data Lake Storage (ADLS) Gen2 e o Armazenamento de Blobs do Azure são suportados.
Pipelines e fluxos de dados suportam uma ampla variedade de fontes de dados e formatos de dados. Para obter mais informações, consulte Pipelines e fluxos de dados.
Melhores práticas
O comando COPY no Warehouse em Microsoft Fabric fornece uma interface simples, flexível e rápida para a ingestão de dados com alta capacidade de processamento para cargas de trabalho SQL. Na versão atual, suporta apenas o carregamento de dados de contas de armazenamento externas.
Você também pode usar a linguagem T-SQL para criar uma nova tabela e, em seguida, inseri-la e, em seguida, atualizar e excluir linhas de dados. Pode inserir dados de qualquer base de dados dentro do espaço de trabalho do Microsoft Fabric usando consultas entre bases de dados. Se você quiser ingerir dados de um Lakehouse para um armazém, você pode fazer isso com uma consulta cruzada de banco de dados. Por exemplo:
INSERT INTO MyWarehouseTable
SELECT * FROM MyLakehouse.dbo.MyLakehouseTable;
- Evite ingerir dados usando instruções singleton
INSERT, pois esta abordagem causa um desempenho fraco em consultas e atualizações. Se usar instruções singletonINSERTpara ingestão de dados consecutivamente, crie uma nova tabela usando padrõesCREATE TABLE AS SELECT (CTAS)ouINSERT...SELECT, elimine a tabela original e, em seguida, recrie a sua tabela a partir da tabela que criou usandoCREATE TABLE AS SELECT (CTAS).- A eliminação da tabela existente afeta o modelo semântico, incluindo quaisquer medidas personalizadas ou personalizações que possa ter feito no modelo semântico.
- Ao trabalhar com dados externos em ficheiros, recomendamos que os ficheiros tenham pelo menos 4 MB de tamanho.
- Para arquivos CSV compactados grandes, considere dividir o arquivo em vários arquivos.
- O Azure Data Lake Storage (ADLS) Gen2 oferece melhor desempenho do que o Armazenamento de Blobs do Azure (legado). Considere usar uma conta ADLS Gen2 sempre que possível.
- Para pipelines que são executados com frequência, considere isolar sua conta de armazenamento do Azure de outros serviços que possam acessar os mesmos arquivos ao mesmo tempo.
- As transações explícitas permitem agrupar várias alterações de dados para que elas só fiquem visíveis ao ler uma ou mais tabelas quando a transação estiver totalmente confirmada. Você também tem a capacidade de reverter a transação se alguma das alterações falhar.
- Se um SELECT estiver dentro de uma transação e tiver sido precedido por inserções de dados, as estatísticas geradas automaticamente podem ser imprecisas após uma reversão. Estatísticas imprecisas podem levar a planos de consulta e tempos de execução não otimizados. Se você reverter uma transação com SELECTs após um INSERT grande, atualize as estatísticas para as colunas mencionadas em seu SELECT.
Note
Independentemente da forma como ingere dados nos armazéns, a tarefa de ingestão de dados otimiza os ficheiros de parquet que produz através da otimização de escrita V-Order. V-Order otimiza ficheiros Parquet para permitir leituras ultrarrápidas nos motores de cálculo do Microsoft Fabric, como Power BI, SQL, Spark e outros. As consultas de dados em armazém, de modo geral, beneficiam de tempos de leitura mais rápidos nos casos com esta otimização, ao mesmo tempo garantindo que os ficheiros Parquet são 100% compatíveis com a especificação de código aberto. Não desative a V-Order porque pode afetar o desempenho da leitura. Para obter mais informações sobre o V-Order, consulte Compreender e gerenciar o V-Order for Warehouse.
Perguntas frequentes sobre a ingestão de dados para Fabric Data Warehouse
Qual é a orientação de divisão de arquivos para o comando COPY carregando arquivos CSV compactados?
Considere dividir arquivos CSV grandes, especialmente quando o número de arquivos for pequeno, mas mantenha os arquivos em um mínimo de 4 MB cada para um melhor desempenho.
Quais são as diretrizes para a divisão de ficheiros ao usar o comando COPY para carregar as ficheiros Parquet?
Considere dividir arquivos Parquet grandes, especialmente quando o número de arquivos é pequeno.
Existem limitações quanto ao número ou tamanho dos ficheiros?
Não há limitações quanto ao número ou tamanho dos ficheiros. No entanto, para melhor desempenho, use ficheiros com pelo menos 4 MB.
Que método de autenticação usa o comando COPY se eu não especificar uma credencial?
Por defeito, o COPY INTO utiliza a Microsoft Entra ID do utilizador executante.