Carregar dados para trabalhos do Apache Hadoop no HDInsight

O HDInsight fornece um HDFS (sistema de arquivos distribuído) completo do Hadoop no Armazenamento do Azure e no Azure Data Lake Storage. Esse armazenamento inclui Gen1 e Gen2. O Armazenamento do Microsoft Azure e o Data Lake Storage Gen1 e Gen2 são projetados como extensões do HDFS. Eles habilitam o conjunto completo de componentes no ambiente do Hadoop para operar diretamente nos dados gerenciados por ele. O Armazenamento do Azure, Data Lake Storage Gen1 e Gen2 são sistemas de arquivos distintos. Os sistemas são otimizados para armazenamento de dados e cálculos sobre esses dados. Para saber mais sobre os benefícios de usar o Armazenamento do Azure, confira Usar o Armazenamento do Azure com o HDInsight. Confira também Usar Data Lake Storage Gen1 com HDInsight e Usar Data Lake Storage Gen2 com HDInsight.

Pré-requisitos

Observe os seguintes requisitos antes de começar:

Carregar dados no Armazenamento do Azure

Utilitários

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

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

Observação

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

Linha de comando do Hadoop

A linha de comando do Hadoop só é útil para armazenar dados no Azure Storage Blob quando os dados já estão presentes no nó de cabeçalho do cluster.

Use o comando do Hadoop, primeiro você deve se conectar ao nó de cabeçalho usando SSH ou PuTTY.

Uma vez conectado, você pode usar a seguinte sintaxe para carregar um arquivo no armazenamento.

hadoop fs -copyFromLocal <localFilePath> <storageFilePath>

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

Como o sistema de arquivos padrão do HDInsight está no Armazenamento do Azure, /example/data/data.txt está, na verdade, no Armazenamento do Azure. Você também pode fazer referência ao arquivo 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 de Hadoop que trabalham com arquivos, consulte https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html

Aviso

Em clusters do Apache HBase, o tamanho do bloco padrão usado na gravação de dados é de 256 KB. Embora isso funcione bem com APIs HBase ou APIs REST, o uso dos comandos hadoop ou hdfs dfs para gravar dados com mais de, aproximadamente, 12 GB resultará em um erro. Para saber mais, confira exceção de armazenamento para gravação em blob.

Clientes gráficos

Também há vários aplicativos que fornecem uma interface gráfica para trabalhar com o Armazenamento do Azure. A seguinte tabela é uma lista de alguns desses aplicativos:

Cliente Linux OS X Windows
Ferramentas do Microsoft Visual Studio para HDInsight
Gerenciador de Armazenamento do Azure
Cerulea
CloudXplorer
CloudBerry Explorer para Microsoft Azure
Cyberduck

Montar o Armazenamento do Azure como uma unidade local

Consulte Montar o Armazenamento do Azure como uma unidade local.

Carregar usando serviços

Fábrica de dados do Azure

A Azure Data Factory é um serviço completamente gerenciado para compor: serviços de armazenamento, processamento e movimentação de dados em pipelines de produção de dados simplificada, escalonável e confiável.

Tipo de armazenamento Documentação
Armazenamento de Blobs do Azure Copiar dados de/para o Armazenamento de Blobs do Azure usando o Azure Data Factory
Azure Data Lake Storage Gen1 Copiar dados de/para o Azure Data Lake Storage Gen1 usando o Azure Data Factory
Azure Data Lake Storage Gen2 Carregar dados no Azure Data Lake Storage Gen2 com o Azure Data Factory

Apache Sqoop

O Sqoop é uma ferramenta desenvolvida para transferir dados entre bancos de dados relacionais e o Hadoop. Use-o para importar dados de um sistema de gerenciamento de banco de dados relacional (RDBMS), como SQL Server, MySQL ou Oracle. Em seguida, no sistema de arquivos distribuídos Hadoop (HDFS). Transforme os dados no Hadoop com MapReduce ou Hive e, em seguida, exporte os dados de volta para um RDBMS.

Para obter mais informações, consulte Usar Sqoop com HDInsight.

SDKs de desenvolvimento

O Armazenamento do Azure também pode ser acessado usando um SDK do Azure com as seguintes linguagens de programação:

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

Para obter mais informações sobre como instalar os SDKs do Azure, consulte Downloads do Azure

Próximas etapas

Agora que você sabe como inserir dados no HDInsight, leia os seguintes artigos para aprender a analisar: