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 Gen2. O Armazenamento do Microsoft Azure e o Data Lake Storage 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 Microsoft Azure e o 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 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 o Data Lake Storage Gen2 com HDInsight.
Pré-requisitos
Observe os seguintes requisitos antes de começar:
- Um cluster Azure HDInsight. Para obter instruções, confira Introdução ao Azure HDInsight.
- Conhecimento dos seguintes artigos:
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 |
(../data-factory/connector-azure-data-lake-store.md) | |
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: