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:
- Um cluster do Azure HDInsight. Para obter instruções, veja 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 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: