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.
Tip
Microsoft Fabric Data Warehouse é um armazém relacional de escala empresarial com base de data lake, arquitetura pronta para o futuro, IA integrada e novos recursos. Se você não estiver familiarizado com o data warehouse, comece com Fabric Data Warehouse. As cargas de trabalho existentes de pools de SQL dedicados podem ser atualizadas para Fabric para acessar novos recursos em ciência de dados, análise em tempo real e relatórios.
Neste guia de início rápido, você carregará dados em massa no pool de SQL dedicado usando a instrução COPY simples e flexível para ingestão de dados com alta capacidade de transferência. A instrução COPY é o utilitário de carregamento recomendado, pois permite que você carregue dados de maneira direta e flexível, fornecendo funcionalidade para:
- Permitir que usuários com privilégios inferiores carreguem sem a necessidade de permissões CONTROL estritas no data warehouse
- Aproveite apenas uma única instrução T-SQL sem precisar criar objetos de banco de dados adicionais
- Aproveite um modelo de permissão mais fino sem expor chaves de conta de armazenamento usando SAS (Assinaturas de Acesso de Compartilhamento)
- Especifique uma conta de armazenamento diferente para o local ERRORFILE (REJECTED_ROW_LOCATION)
- Personalizar valores padrão para cada coluna de destino e especificar campos de dados de origem para carregar em colunas de destino específicas
- Especificar um terminador de linha personalizado para arquivos CSV
- Delimitadores de cadeia de caracteres, campo e linha de escape para arquivos CSV
- Aproveitar os formatos de data de SQL Server para arquivos CSV
- Especifique caracteres curinga e múltiplos arquivos no caminho do armazenamento.
Prerequisites
Este guia de início rápido pressupõe que você já tem um pool de SQL dedicado. Se um pool de SQL dedicado não tiver sido criado, use o início rápido Criar e Conectar - portal .
Configurar as permissões necessárias
-- List the permissions for your user
select princ.name
, princ.type_desc
, perm.permission_name
, perm.state_desc
, perm.class_desc
, object_name(perm.major_id)
from sys.database_principals princ
left join
sys.database_permissions perm
on perm.grantee_principal_id = princ.principal_id
where name = '<yourusername>';
--Make sure your user has the permissions to CREATE tables in the [dbo] schema
GRANT CREATE TABLE TO <yourusername>;
GRANT ALTER ON SCHEMA::dbo TO <yourusername>;
--Make sure your user has ADMINISTER DATABASE BULK OPERATIONS permissions
GRANT ADMINISTER DATABASE BULK OPERATIONS TO <yourusername>
--Make sure your user has INSERT permissions on the target table
GRANT INSERT ON <yourtable> TO <yourusername>
Criar a tabela de destino
Neste exemplo, carregaremos dados do conjunto de dados de táxi de Nova York. Carregaremos uma tabela chamada Trip que representa viagens de táxi feitas dentro de um único ano. Execute o seguinte para criar a tabela:
CREATE TABLE [dbo].[Trip]
(
[DateID] int NOT NULL,
[MedallionID] int NOT NULL,
[HackneyLicenseID] int NOT NULL,
[PickupTimeID] int NOT NULL,
[DropoffTimeID] int NOT NULL,
[PickupGeographyID] int NULL,
[DropoffGeographyID] int NULL,
[PickupLatitude] float NULL,
[PickupLongitude] float NULL,
[PickupLatLong] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DropoffLatitude] float NULL,
[DropoffLongitude] float NULL,
[DropoffLatLong] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PassengerCount] int NULL,
[TripDurationSeconds] int NULL,
[TripDistanceMiles] float NULL,
[PaymentType] varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[FareAmount] money NULL,
[SurchargeAmount] money NULL,
[TaxAmount] money NULL,
[TipAmount] money NULL,
[TollsAmount] money NULL,
[TotalAmount] money NULL
)
WITH
(
DISTRIBUTION = ROUND_ROBIN,
CLUSTERED COLUMNSTORE INDEX
);
Executar a instrução COPY
Execute o seguinte comando COPY que carregará dados da conta de armazenamento de blobs da Azure na tabela Trip.
COPY INTO [dbo].[Trip] FROM 'https://nytaxiblob.blob.core.windows.net/2013/Trip2013/'
WITH (
FIELDTERMINATOR='|',
ROWTERMINATOR='0x0A'
) OPTION (LABEL = 'COPY: dbo.trip');
Monitorar a carga
Verifique se a carga está progredindo periodicamente executando a seguinte consulta:
SELECT r.[request_id]
, r.[status]
, r.resource_class
, r.command
, sum(bytes_processed) AS bytes_processed
, sum(rows_processed) AS rows_processed
FROM sys.dm_pdw_exec_requests r
JOIN sys.dm_pdw_dms_workers w
ON r.[request_id] = w.request_id
WHERE [label] = 'COPY: dbo.trip' and session_id <> session_id() and type = 'WRITER'
GROUP BY r.[request_id]
, r.[status]
, r.resource_class
, r.command;
Próximas Etapas
- Para obter as práticas recomendadas sobre o carregamento de dados, consulte As práticas recomendadas para carregar dados.
- Para obter informações sobre como gerenciar os recursos para cargas de dados, consulte Isolamento de Carga de Trabalho.