Introdução
O Azure está crescendo a cada dia. A Microsoft criou o Azure, que é um serviço de Cloud Computing lançado em 2010.
Segundo a Microsoft, 80% das empresas da Fortune 500 estão usando o Azure. Além disso, 40% da receita do Azure vem de startups e fornecedores de software independentes. 33% das Máquinas Virtuais do Azure estão usando Linux. A Microsoft espera faturar US$ 20 bilhões em 2018.
É por isso que as empresas estão migrando parte dos dados para o Azure e, às vezes, todos os dados.
O Azure Data Lake é um armazenamento especial para analisar Big Data em paralelo no Azure. Ele é otimizado para análise. Você pode armazenar dados de redes sociais, e-mails, documentos, informações de sensores, informações geográficas e muito mais.
Se você deseja apenas armazenar dados, o Armazenamento de Blobs do Azure é suficiente. Se você deseja analisar os dados, o Data Lake é a melhor opção, pois foi projetado para relatórios.
O Data Lake Store geralmente é analisado usando Cortana Analytics Suite, Power BI, SSIS é uma ferramenta conhecida e popular para migrar dados. Neste novo artigo, mostraremos como usar o SSIS para migrar dados para o Azure. Também mostraremos como exportar dados de um arquivo .txt no Azure Data Lake Store para o SQL Server local.
Se você não tem experiência no Azure, mas tem experiência com SSIS. Esse artigo é para você.
Seguiremos estas etapas para importar os dados no Azure Data Lake:
- Instale o pacote de recursos do SSIS para Azure
Por padrão, você não pode se conectar ao Azure Data Lake Store. É necessário instalar o feature pack para Azure nos projetos SSIS.
- Crie um Azure Data Lake Store (ADLS) no Portal do Azure
Se você não tiver um Azure Data Lake Store, precisará criar um novo. Criaremos uma pasta neste ADLS e importaremos os dados de uma pasta local aqui.
- Crie um registro de aplicativo
No Portal do Azure, nas opções do Azure Active Directory (AAD), há uma opção para registro de aplicativo. Usaremos um registro de aplicativo para acessar o ADLS.
- Atribuir permissões ao ADLS
No ADLS no Data Explorer, você precisa conceder acesso ao registro do aplicativo.
- Exportando arquivos para ADLS com SSIS
Usando a tarefa ADLS para SSIS no SSDT, você pode exportar os dados de um arquivo local para o SSIS. Para isso, você precisa do URL do ADLS, do ID do aplicativo do registro do aplicativo e da chave do registro do aplicativo.
- Verifique os resultados
Por fim, no Portal do Azure, acesse ADLS, Data Explore e verifique se os arquivos foram copiados com sucesso.
Requisitos
O seguinte software é necessário para este artigo:
- SSIS instalado (incluído no instalador do SQL Server)
- SQL Server Data Tools (SSDT) instalado
- Uma conta do Azure
- O Pacote de Recursos do SSIS para Azure
Começar
1. Instale o pacote de recursos do SSIS para Azure
Há um Feature Pack gratuito para SSIS que inclui tarefas para se conectar ao Azure. O pacote de recursos do SSIS precisa ser instalado. Este pacote inclui várias tarefas para trabalhar com Big Data no Azure (HDInsight), Armazenamento de Blobs do Azure, Azure Data Lake Store, Azure Data Warehouse e muito mais:
O instalador é de 29 MB. Existe uma versão para 32 e 64 bits.
2. Crie um Azure Data Lake Store (ADLS) no Portal do Azure
Você também precisará de uma assinatura do Azure. Existem edições de teste para iniciantes que desejam aprender essa nova tecnologia. Vamos criar um Azure Data Lake Store. Um Data Lake Store é onde você armazena seus dados no Azure para análise. Faça logon no Portal do Azure e vá para mais serviços (>) e na caixa de texto de pesquisa escreva Data Lake Store. Selecione o Data Lake Store:
Estou assumindo que você ainda não tem um Data Lake Store, então vamos criar um novo pressionando o ícone +Adicionar:
Especifique um nome para o Data Lake Store. O grupo de recursos deve lidar com vários recursos do Azure em grupos. Localização é para especificar o local mais próximo de você. Você pode pagar pelo consumo. O preço é de cerca de 0,39 USD por GB. Quanto mais TB, mais barato é. Também há cobranças por operações de leitura e gravação (10.000 operações de gravação por US$ 0,05 e 10.000 operações de leitura por US$ 0,004).
Uma vez criado, clique no Data Lake Store:
Para criar pastas e adicionar arquivos, acesse o Data Explorer:
Crie uma Nova Pasta. Vamos fazer upload de arquivos para esta pasta. Atribua um nome e pressione OK:
3. Crie um registro de aplicativo
Criaremos um registro de App para acesso ao Data Lake. No registro do aplicativo, você registra seu aplicativo e recebe um ID de aplicativo e uma chave. Para fazer isso, precisamos ir para Mais serviços> Active Directory:
Acesse Registros de aplicativos:
Adicione um nome. O tipo de aplicativo é Web app/API (o padrão). A URL pode ser qualquer URL de sua preferência:
Clique no aplicativo recém-criado:
Para se conectar ao Azure Data Lake Store, você precisa da ID do aplicativo:
No registro do aplicativo, vá para keys. Crie uma nova chave e atribua uma duração de expiração para a chave. Copie e cole o valor em algum lugar. Esse valor será necessário para se conectar ao Azure Data Lake Store:
Vá para o Data Lake Store e copie a URL na seção Visão geral. Esta informação também é útil para conectar usando SSIS:
4. Atribuir permissões ao ADLS
Concederemos permissões para nossos registros de aplicativos. Essas permissões permitirão o acesso ao ADLS. Vá para o Data Explorer:
Pressione a opção Acesso para adicionar o Registro do Aplicativo:
Pressione +Adicionar opção para adicionar o registro do aplicativo:
Na caixa de texto, escreva AppService e pressione o botão Selecionar:
Atribua permissões de leitura, gravação e execução. Você pode adicionar permissões à pasta e à pasta e a todos os filhos.
Você também pode atribuir acesso, permissões padrão e ambos:
5. Exportando arquivos para ADLS com SSIS
No SSDT, crie um projeto SSIS. Se você instalou o pacote de recursos para o Azure, poderá ver a tarefa do sistema de arquivos do Azure Data Lake Store. Arraste e solte esta tarefa no painel de design:
Clique duas vezes na tarefa do sistema de arquivos do Azure Data Lake Store. Existem 2 operações possíveis. Para copiar do Azure Data Lake (ADL) ou para copiar para o ADL. Neste exemplo, vamos copiar de um arquivo local para o ADL. Na fonte, usaremos a pasta c:\sql, teremos alguns arquivos locais para copiar para o ADL. No AzureDataLakeDirectory, usaremos a pasta compartilhada. Esta pasta foi criada no ADL Store nas etapas anteriores. O AzureDataLakeConnection será explicado posteriormente. Viva a expiração do arquivo (esta opção é usada para especificar quando os arquivos expiram):
Em AzureDataLakeConnection, selecionaremos a opção Nova Conexão para criar uma nova:
Na conexão, você precisa do host ADLS. Esta é a URL quando você acessa a seção Visão geral do ADLS no portal.In Authentication, we will use an Azure AD Service Identity. Essa opção usa o Registro do Aplicativo criado no Azure.
O ID do cliente é o ID do aplicativo do registro do aplicativo. Você pode encontrar essas informações na seção Registro de Aplicativos do Azure AD.
A chave secreta pode ser encontrada no portal em Registro de Aplicativo no Azure AD na seção de chave. Você pode criar uma chave e usar o valor nesta seção.
O nome do locatário é o nome do domínio do Azure AD (explicaremos o domínio do Azure).
Pressione a conexão de teste para verificar se está tudo bem. Quando estiver tudo bem, pressione OK:
Se você não conhece seu domínio (Nome do Inquilino), você pode verificar clicando na seção superior direita do Portal.
Você pode executar o pacote SSIS para exportar os dados para ADLS. Neste exemplo, temos 3 arquivos na pasta local.
6. Verifique os resultados
Se tudo estiver OK, no Portal do Azure, vá para o ADLS e vá para Data Explorer. Vá para a pasta compartilhada e verifique os arquivos lá. Você poderá ver os 5 arquivos copiados.
Exportar dados do Data Lake para o SQL Server no local
Na segunda parte, exportaremos os dados armazenados no Azure Data Lake para o SQL Server local. Arraste e solte uma tarefa de fluxo de dados:
Clique duas vezes na tarefa Fluxo de Dados e arraste e solte a Origem do Azure Data Lake Store e o Destino do SQL Server. Conecte as duas tarefas. Clique duas vezes em Fonte do Azure Data Lake Store:
Selecione a conexão ADLS criada na primeira parte do artigo. No caminho, especifique o caminho ADLS (nome da pasta/arquivo). Neste cenário, o formato do arquivo é texto e o delimitador é uma vírgula:
Nas colunas, você pode ver as colunas. Se não houver colunas. Os cabeçalhos de coluna padrão são criados:
Clique duas vezes no Destino do SQL Server. Pressione Novo para criar um gerenciador de conexões:
Crie uma nova conexão. Especifique o nome do SQL Server, a autenticação e o banco de dados onde deseja armazenar os dados:
Na tabela ou visualização, pressione Novo para criar uma nova tabela:
Por padrão, você terá o seguinte código T-SQL:
Altere o código para especificar um nome de tabela e fornecer nomes de coluna:
CREATE TABLE [smartphones] ( [ID] int, Brand nvarchar(100), Version nvarchar(100) )
Vá para a página Mapeamentos e atribua Prop_0 a ID, Prop_1 a Brand, Prop_2 a Version:
Você terá um erro no Destino do SQL Server. Que a coluna não pode ser inserida devido a um problema de conversão. Isso ocorre porque Prop_0 é uma string e a tabela do SQL Server é um inteiro:
Arraste e solte a tarefa de conversão de dados e conecte-se entre a origem do Azure Data Lake Store e o destino do SQL Server:
Clique duas vezes em conversão de dados, selecione Prop_0 e converta o Tipo de dados para um inteiro com sinal de quatro bytes [DT_I4] e atribua um alias. A conversão de dados cria outra coluna com um tipo de dados diferente:
Retorne ao SQL Destination Editor e corresponda Prop_0int ao ID:
Execute o pacote SSIS. No SSMS, verifique se as tabelas dbo.smartphones foram criadas e verifique se os dados foram importados:
Se você tiver dúvidas ou problemas, sinta-se à vontade para escrever seus comentários.
Conclusões
O Azure Data Lake é um armazenamento especial com alto desempenho para lidar com Big Data. Para migrar dados de servidores locais para o Azure, você pode usar o SSIS. Para fazer isso, você precisa do novo Feature Pack para Azure. Este pacote instala novas Tarefas para se conectar ao ADLS.
Para se conectar ao ADLS usando o SSIS, criamos um registro do aplicativo AAD com permissões para ele.
SSIS permite carregar os arquivos para ADLS facilmente. Você só precisa especificar a URL ADLS e a chave de registro do aplicativo e o ID do aplicativo.
Também mostramos como extrair dados do ADLS para uma tabela no SQL Server local.
Referências
Para obter mais informações sobre SSIS, Data Lake Store, registro de aplicativo, use os seguintes links:
- Apresentando o Azure Data Lake
- Gerenciador de conexões do Azure Data Lake Store
- Azure Feature Pack para Integration Services (SSIS)
- Integrando aplicativos com o Azure Active Directory
- Tarefa do sistema de arquivos do Azure Data Lake Store
- Registre seu aplicativo com seu locatário do Azure Active Directory