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:
- Um cluster do Azure HDInsight. Para obter instruções, consulte Introdução ao Azure HDInsight.
- Conhecimento dos seguintes artigos:
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: