Carregar dados para tarefas do Apache Hadoop no HDInsight

O HDInsight fornece um sistema de ficheiros distribuído Hadoop (HDFS) através do Armazenamento do Azure e Azure Data Lake Storage. Este armazenamento inclui Gen1 e Gen2. O Armazenamento do Azure e o Data Lake Storage Gen1 e Gen2 foram concebidos como extensões HDFS. Permitem que o conjunto completo de componentes no ambiente do Hadoop funcione diretamente nos dados que gere. O Armazenamento do Azure, Data Lake Storage Gen1 e Gen2 são sistemas de ficheiros distintos. Os sistemas estão otimizados para armazenamento de dados e cálculos nesses dados. Para obter informações sobre as vantagens da utilização do Armazenamento do Azure, veja Utilizar o Armazenamento do Azure com o HDInsight. Veja também Utilizar Data Lake Storage Gen1 com o HDInsight e Utilizar Data Lake Storage Gen2 com o HDInsight.

Pré-requisitos

Tenha em atenção os seguintes requisitos antes de começar:

Carregar dados para o Armazenamento do Azure

Utilitários

A Microsoft fornece os seguintes utilitários para trabalhar com o Armazenamento do Azure:

Ferramenta Linux OS X Windows
Portal do Azure
CLI do Azure
Azure PowerShell
AzCopy
Comando do Hadoop

Nota

O comando do Hadoop só está disponível no cluster do HDInsight. O comando só permite carregar dados do sistema de ficheiros local para o Armazenamento do Azure.

Linha de comandos do Hadoop

A linha de comandos do Hadoop só é útil para armazenar dados no blob de armazenamento do Azure quando os dados já estiverem presentes no nó principal do cluster.

Para utilizar o comando do Hadoop, primeiro tem de ligar ao nó principal através de SSH ou PuTTY.

Depois de ligado, pode utilizar a seguinte sintaxe para carregar um ficheiro para o armazenamento.

hadoop fs -copyFromLocal <localFilePath> <storageFilePath>

Por exemplo, hadoop fs -copyFromLocal data.txt /example/data/data.txt

Uma vez que o sistema de ficheiros predefinido do HDInsight está no Armazenamento do Azure, /exemplo/dados/data.txt está, na verdade, no Armazenamento do Azure. Também pode fazer referência ao ficheiro como:

wasbs:///example/data/data.txt

ou

wasbs://<ContainerName>@<StorageAccountName>.blob.core.windows.net/example/data/davinci.txt

Para obter uma lista de outros comandos do Hadoop que funcionam com ficheiros, consulte https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html

Aviso

Nos clusters do Apache HBase, o tamanho de bloco predefinido utilizado ao escrever dados é de 256 KB. Embora isto funcione corretamente ao utilizar APIs HBase ou APIs REST, utilizar os hadoop comandos ou hdfs dfs para escrever dados maiores do que ~12 GB resulta num erro. Para obter mais informações, veja exceção de armazenamento para escrita no blob.

Clientes gráficos

Também existem várias aplicações que fornecem uma interface gráfica para trabalhar com o Armazenamento do Azure. A tabela seguinte é uma lista de algumas destas aplicações:

Cliente Linux OS X Windows
Microsoft Visual Studio Tools para HDInsight
Explorador do Storage do Azure
Cerulea
CloudXplorer
CloudBerry Explorer para Microsoft Azure
Cyberduck

Montar o Armazenamento do Azure como Unidade Local

Veja Montar o Armazenamento do Azure como Unidade Local.

Carregar com serviços

Azure Data Factory

O serviço Azure Data Factory é um serviço totalmente gerido para compor dados: serviços de armazenamento, processamento e movimento em pipelines de produção de dados simplificados, adaptáveis e fiáveis.

Tipo de armazenamento Documentação
Armazenamento de Blobs do Azure Copiar dados de/para o Armazenamento de blobs do Azure com o Azure Data Factory
Armazenamento do Azure Data Lake Ger1 Copiar dados de ou para o Azure Data Lake Storage Gen1 com Azure Data Factory
Armazenamento do Azure Data Lake Ger2 Carregar dados para Azure Data Lake Storage Gen2 com Azure Data Factory

Apache Sqoop

O Sqoop é uma ferramenta concebida para transferir dados entre o Hadoop e bases de dados relacionais. Utilize-os para importar dados de um sistema de gestão de bases de dados relacionais (RDBMS), como SQL Server, MySQL ou Oracle. Em seguida, para o sistema de ficheiros distribuído hadoop (HDFS). Transforme os dados no Hadoop com o MapReduce ou o Hive e, em seguida, exporte os dados novamente para um RDBMS.

Para obter mais informações, veja Utilizar o Sqoop com o HDInsight.

SDKs de Desenvolvimento

O Armazenamento do Azure também pode ser acedido com um SDK do Azure a partir das seguintes linguagens de programação:

  • .NET
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby

Para obter mais informações sobre como instalar os SDKs do Azure, veja Transferências do Azure

Passos seguintes

Agora que compreende como obter dados no HDInsight, leia os seguintes artigos para saber mais sobre a análise: