Partilhar via


Carregar dados para trabalhos do Apache Hadoop no HDInsight

O HDInsight fornece um sistema de arquivos distribuído Hadoop (HDFS) no Armazenamento do Azure e no Armazenamento do Azure Data Lake. Este armazenamento inclui Gen2. O Armazenamento do Azure e o Armazenamento Data Lake Gen2 são projetados como extensões HDFS. Eles permitem que o conjunto completo de componentes no ambiente Hadoop opere diretamente nos dados que gerencia. Azure Storage, Data Lake Storage Gen2 são sistemas de arquivos distintos. Os sistemas são otimizados para armazenamento de dados e cálculos sobre esses dados. Para obter informações sobre os benefícios de usar o Armazenamento do Azure, consulte Usar o Armazenamento do Azure com o HDInsight. Consulte também Usar o Data Lake Storage Gen2 com o HDInsight.

Pré-requisitos

Observe 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 Hadoop

Nota

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

Linha de comando do Hadoop

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

Para usar o comando Hadoop, você deve primeiro se conectar ao headnode usando SSH ou PuTTY.

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

hadoop fs -copyFromLocal <localFilePath> <storageFilePath>

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

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

Aviso

Em clusters Apache HBase, o tamanho de bloco padrão usado ao gravar dados é de 256 KB. Embora isso funcione bem ao usar APIs do HBase ou APIs REST, usar os hadoop comandos ou hdfs dfs para gravar dados maiores que ~12 GB resulta em um erro. Para obter mais informações, consulte exceção de armazenamento para gravação em blob.

Clientes gráficos

Há também vários aplicativos que fornecem uma interface gráfica para trabalhar com o Armazenamento do Azure. A tabela a seguir é uma lista de alguns desses aplicativos:

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

Monte o Armazenamento do Azure como Unidade Local

Consulte Montar o Armazenamento do Azure como Unidade Local.

Carregar usando serviços

Azure Data Factory

O serviço Azure Data Factory é um serviço totalmente gerenciado para compor dados: serviços de armazenamento, processamento e movimentação em pipelines de produção de dados simplificados, adaptáveis e confiá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
(.. /data-factory/connector-azure-data-lake-store.md)
Azure Data Lake Storage Gen2 Carregue dados no Azure Data Lake Storage Gen2 com o Azure Data Factory

Apache Sqoop

O Sqoop é uma ferramenta projetada para transferir dados entre o Hadoop e bancos de dados relacionais. 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 exporte os dados de volta para um RDBMS.

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

SDKs de desenvolvimento

O Armazenamento do Azure também pode ser acessado usando um SDK do Azure 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, consulte Downloads do Azure

Próximos passos

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