Compartilhar via


Carregar dados com os Serviços de Integração no Parallel Data Warehouse

Fornece informações de referência e implantação para carregar dados no SQL Server Parallel Data Warehouse usando pacotes do SQL Server Integration Services (SSIS).

Noções básicas

Os Serviços de Integração formam o componente do SQL Server para extração, transformação e carregamento (ETL) de dados de alto desempenho e são comumente usados para preencher e atualizar um data warehouse.

O Adaptador de Destino do PDW é um componente dos Serviços de Integração que permite carregar dados no PDW usando pacotes dtsx dos Serviços de Integração. Em um fluxo de trabalho de pacote para o Analytics Platform System (PDW), você pode carregar e mesclar dados de várias fontes e carregar dados para vários destinos. As cargas ocorrem em paralelo, ambas dentro de um pacote e entre vários pacotes em execução simultânea, até um máximo de 10 cargas em execução em paralelo na mesma aplicação.

Além das tarefas descritas neste tópico, você pode usar outros recursos dos Serviços de Integração para filtrar, transformar, analisar e limpar seus dados antes de carregá-los no data warehouse. Você também pode aprimorar o fluxo de trabalho do pacote por meio da execução de instruções SQL, execução de pacotes filho ou envio de email.

Para obter a documentação completa dos Serviços de Integração, consulte Serviços de Integração do SQL Server.

Métodos para executar um pacote dos Serviços de Integração

Use um desses métodos para executar um pacote dos Serviços de Integração.

Executar no Business Intelligence Development Studio (BIDS) do SQL Server 2008 R2

Para executar o pacote a partir do BIDS, clique com o botão direito do mouse no pacote e escolha Executar pacote.

Por padrão, o BIDS executa pacotes usando binários de 64 bits. Isso é determinado pela propriedade do pacote Run64BitRuntime. Para definir essa propriedade, vá para o Gerenciador de Soluções, clique com o botão direito do mouse no seu projeto e escolha Propriedades. Nas Páginas de Propriedades dos Serviços de Integração, acesse Propriedades da Configuração e selecione Depuração. Você verá a propriedade Run64BitRuntime nas Opções de Depuração. Para usar tempos de execução de 32 bits, defina-os como False. Para usar tempos de execução de 64 bits, defina-os como True.

Executar no SQL Server 2012 SQL Server Data Tools

Para executar o pacote de dentro do SQL Server Data Tools, clique com o botão direito do mouse no pacote e escolha Executar Pacote.

Executar no PowerShell

Para executar o pacote no Windows PowerShell, usando o utilitário dtexec: dtexec /FILE <packagePath>

Por exemplo, dtexec /FILE "C:\Users\User1\Desktop\Package.dtsx"

Executar em um prompt de comando do Windows

Para executar o pacote no prompt de comando do Windows, usando o utilitário dtexec: dtexec /FILE <packagePath>

Por exemplo: dtexec /FILE "C:\Users\User1\Desktop\Package.dtsx"

Tipos de dados

Ao usar os Serviços de Integração para carregar dados de uma fonte de dados para um banco de dados do SQL Server PDW, os dados serão mapeados primeiro dos dados de origem para os tipos de dados dos Serviços de Integração. Isso permite que dados de várias fontes de dados sejam mapeados para um conjunto comum de tipos de dados.

Em seguida, os dados são mapeados dos Serviços de Integração para os tipos de dados do SQL Server PDW. Para cada tipo de dados do SQL Server PDW, a tabela abaixo lista os tipos de dados dos Serviços de Integração que podem ser convertidos para o tipo de dados do SQL Server PDW.

Tipo de dados do PDW Tipos de dados dos Serviços de Integração que direcionam para o PDW
BIT DT_BOOL
bigint DT_I1, DT_I2, DT_I4, DT_I8, DT_UI1, DT_UI2, DT_UI4
CHAR DT_STR
DATE DT_DBDATE
DATETIME DT_DATE, DT_DBDATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2
DATETIME2 DT_DATE, DT_DBDATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2
DATETIMEOFFSET DT_WSTR
DECIMAL DT_DECIMAL, DT_I1, DT_I2, DT_I4, DT_I4, DT_I8, DT_NUMERIC, DT_UI1, DT_UI2, DT_UI4, DT_UI8
FLOAT DT_R4, DT_R8
INT DT_I1, DTI2, DT_I4, DT_UI1, DT_UI2
MONEY DT_CY
NCHAR DT_WSTR
NUMERIC DT_DECIMAL, DT_I1, DT_I2, DT_I4, DT_I8, DT_NUMERIC, DT_UI1, DT_UI2, DT_UI4, DT_UI8
NVARCHAR DT_WSTR, DT_STR
real DT_R4
SMALLDATETIME DT_DBTIMESTAMP2
SMALLINT DT_I1, DT_I2, DT_UI1
SMALLMONEY DT_R4
TIME DT_WSTR
TINYINT DT_I1
VARBINARY DT_BYTES
VARCHAR DT_STR

Suporte limitado para a precisão de tipo de dados

O PDW gerará um erro de validação se você mapear uma coluna de entrada DT_NUMERIC ou DT_DECIMAL que contenha um valor com precisão maior que 28.

Tipos de dados sem-suporte

O SQL Server PDW não dá suporte aos seguintes tipos de dados do Integration Services:

  • DT_DBTIMESTAMPOFFSET

  • DT_DBTIME2

  • DT_GUID

  • DT_IMAGE

  • DT_NTEXT

  • DT_TEXT

Para carregar colunas que contêm dados desses tipos no SQL Server PDW, adicione uma transformação de Conversão de Dados upstream no fluxo de dados para converter os dados em um tipo compatível.

Permissões

Para executar um pacote de carregamento dos Serviços de Integração, você precisa:

  • CARREGAR permissão no banco de dados.

  • As permissões INSERT, UPDATE, DELETE aplicáveis na tabela de destino.

  • Se um banco de dados de preparo for usado, CRIE a permissão nele. Isso é para criar uma tabela temporária.

  • Se um banco de dados de preparo for usado, CRIE a permissão no banco de dados de destino. Isso é para criar uma tabela temporária.

Comentários gerais

Quando um pacote dos Serviços de Integração tiver vários destinos do SQL Server PDW em execução, e uma das conexões for encerrada, os Serviços de Integração interromperão o envio de dados para todos os destinos do SQL Server PDW.

Limitações e restrições

Para um pacote de Serviços de Integração, o número de destinos do SQL Server PDW para a mesma fonte de dados é limitado pelo número máximo de cargas ativas. O máximo é pré-configurado e não pode ser configurado pelo usuário.

Cada destino do pacote dos Serviços de Integração para a mesma fonte de dados será considerado como uma carga quando o pacote estiver em execução. Por exemplo, suponha que o número máximo de cargas ativas é 10. O pacote não será executado se tentar abrir 11 ou mais destinos para a mesma fonte de dados.

Vários pacotes podem ser executados simultaneamente, desde que cada pacote não use mais do que o máximo de cargas ativas. Por exemplo, se o número máximo de cargas ativas for 10, você poderá executar simultaneamente dois pacotes que usem 10 destinos cada um. Um pacote será executado enquanto o outro esperar na fila de carga.

Se o número de cargas na fila de carga exceder o máximo de cargas enfileiradas, o pacote não será executado. Por exemplo, se o número máximo de cargas for 10 por dispositivo e o número máximo de cargas enfileiradas for 40 por dispositivo, você poderá executar simultaneamente cinco pacotes dos Serviços de Integração, cada um com dez destinos abertos. Se você tentar executar um sexto pacote, ele não será executado.

Importante

Usar uma fonte de dados OLE DB no SSIS com o adaptador de destino PDW pode causar corrupção de dados se a tabela de origem contiver as colunas char e varchar com agrupamentos SQL. Recomendamos o uso de uma fonte ADO.NET se a tabela de origem contiver as colunas char ou varchar com agrupamentos SQL.

Comportamento de bloqueio

Ao carregar dados com os Serviços de Integração, o Analytics Platform System (PDW) usa bloqueios em nível de linha para atualizar os dados na tabela de destino. Isso significa que cada linha é bloqueada para leitura e gravação enquanto está sendo atualizada. As linhas na tabela de destino não são bloqueadas enquanto os dados são carregados na tabela de preparo.

Exemplos

R. Carregamento simples em arquivo simples

O passo a passo a seguir demonstra uma carga de dados simples que usa os Serviços de Integração para carregar dados de arquivo simples em um dispositivo do SQL Server PDW. Esse exemplo pressupõe que os Serviços de Integração já foram instalados no computador cliente e que o destino do SQL Server PDW foi instalado, conforme descrito acima.

Neste exemplo, carregaremos na Orders tabela, que tem a DDL a seguir. A tabela Orders faz parte do banco de dados LoadExampleDB.

CREATE TABLE LoadExampleDB.dbo.Orders (  
   id INT,  
   city varchar(25),  
   lastUpdateDate DATE,  
   orderDate DATE)  
;  

Aqui estão os dados de carregamento:

id        city           lastUpdateDate     orderdate  
--------- -------------- ------------------ ----------  
1         Seattle        2010-05-01         2010-01-01  
2         Denver         2002-06-25         1999-01-02  

Em preparação para a carga, crie o arquivo simples exampleLoad.txt, contendo os dados de carregamento:

id,city,lastUpdateDate,orderDate  
1,Seattle,2010-05-01,2010-01-01  
2,Denver,2002-06-25,1999-01-02  

Primeiro, crie um pacote dos Serviços de Integração executando estas etapas:

  1. No SSDT (Ferramentas de dados do SQL Server), selecione Arquivo, Novo e Projeto. Selecione Projeto dos Serviços de Integração nas opções listadas. Dê um nome para este projeto ExampleLoad e clique em OK.

  2. Clique na guia Fluxo de Controle e arraste Tarefa de Fluxo de Dados da Caixa de ferramentas para o painel Fluxo de Controle.

  3. Clique na guia Fluxo de Dados e arraste Fonte de Arquivo Simples da Caixa de ferramentas para o painel Fluxo de Dados. Clique duas vezes na caixa que você acabou de criar para abrir o Editor de Fonte de Arquivo Simples.

  4. Clique em Gerenciador de Conexões e, em seguida, clique em Novo.

  5. Na caixa Nome do gerenciado de conexões, digite um nome amigável para essa conexão. Para este exemplo, Example Load Flat File CM.

  6. Clique em Procurar e selecione o arquivo ExampleLoad.txt no computador local.

  7. Como o arquivo simples contém uma linha com nomes de coluna, clique na caixa Nomes de coluna na primeira linha de dados.

  8. Clique em Colunas na coluna esquerda e visualize os dados que serão carregados para garantir que os nomes e dados das colunas foram interpretados corretamente.

  9. Na coluna à esquerda, clique em Avançado. Clique no nome de cada coluna para examinar o tipo de dados que foi associado aos dados. Digite alterações na caixa para que os tipos de dados carregados sejam compatíveis com os tipos de coluna de destino.

  10. Clique em OK para salvar o gerenciador de conexões.

  11. Clique em OK para sair do Editor de Fonte de Arquivo Simples.

Especifique o destino do fluxo de dados.

  1. Arraste o Destino do SQL Server PDW da Caixa de ferramentas para o painel Fluxo de Dados.

  2. Clique duas vezes na caixa que você acabou de criar para carregar o Editor de Destino do SQL Server PDW.

  3. Clique na seta para baixo ao lado de Gerenciador de Conexões.

  4. Selecione Criar Nova Conexão.

  5. Preencha as informações do servidor, usuário, senha e banco de dados de destino com informações específicas sobre o seu aparelho. (Os exemplos são mostrados abaixo). Em seguida, clique em OK.

    Nas conexões InfiniBand, em Nome do servidor, digite <appliance-name>-SQLCTL01,17001.

    Nas conexões Ethernet, em Nome do servidor, digite o endereço IP do cluster de nó de controle, vírgula e a porta 17001. Por exemplo: 10.192.63.134,17001.

    Usuáriouser1:

    Senhapassword1:

    Banco de Dados de Destino:LoadExampleDB

  6. Selecionar o destino: Orders.

  7. Selecione Acrescentar como o modo de carregamento e clique em OK.

Especifique o fluxo de dados da origem para o destino.

  1. No painel Fluxo de Dados, arraste a seta verde da caixa Fonte de Arquivo Simples para a caixa Destino do SQL Server PDW.

  2. Clique duas vezes na caixa Destino do SQL Server PDW para ver o Editor de Destino do SQL Server PDW novamente. Você deve ver os nomes das colunas do arquivo simples à esquerda, em Colunas de Entrada Não Mapeadas. Você deve ver os nomes das colunas da tabela de destino à direita, em Colunas de Destino Não Mapeadas. Mapeie as colunas arrastando ou clicando duas vezes nos nomes das colunas correspondentes nas listas Colunas de Entrada Não Mapeadas e Colunas de Destino Não Mapeadas para a caixa Colunas Mapeadas. Clique em OK para salvar suas definições.

  3. Para salvar o pacote atualizado, clique em Salvar no menu Arquivo.

Execute o pacote nos Serviços de Integração do seu computador.

  1. No Gerenciador de Soluções dos Serviços de Integração (coluna da direita), clique em Package.dtsx com o botão direito do mouse e selecione Executar.

  2. O pacote será executado e o progresso (e todos os erros) serão mostrados no painel Progresso. Use um cliente SQL para confirmar a carga ou monitore a carga por meio do Console de Administração do SQL Server PDW.

Confira também

Crie uma tarefa de script que use o adaptador de destino do SSIS PDW
SQL Server Integration Services
Projetar e implementar pacotes (Serviços de Integração)
Tutorial: Criar um pacote básico usando um assistente
Introdução (Serviços de Integração)
Exemplo de geração dinâmica de pacotes
Criar pacotes SSIS para paralelismo (vídeo do SQL Server)
Melhorando as cargas incrementais com a captura de dados de alterações
Transformação Dimensão de Alteração Lenta
Tarefa Inserção em Massa