Carga de datos para trabajos de Apache Hadoop en HDInsight
HDInsight ofrece un sistema de archivos distribuido de Hadoop (HDFS) mediante Azure Storage y Azure Data Lake Store. Este almacenamiento incluye Gen2. Azure Storage y Data Lake Storage Gen2 están diseñados como extensiones de HDFS. Habilitan el conjunto completo de componentes en el entorno de Hadoop para operar directamente en los datos que administra. Azure Storage, Data Lake Storage Gen2 y Gen2 son sistemas de archivos diferentes. Los sistemas están optimizados para el almacenamiento de datos y los cálculos sobre esos datos. Para más información sobre las ventajas del uso de Azure Storage, consulte Uso de Azure Storage con HDInsight. Vea también Uso de Data Lake Storage Gen2 con HDInsight.
Requisitos previos
Tenga en cuenta los siguientes requisitos antes de empezar:
- Un clúster de HDInsight de Azure. Para obtener instrucciones, consulte Introducción a Azure HDInsight.
- Conocimientos de los artículos siguientes:
Carga de datos en Azure Storage
Sectores públicos
Microsoft proporciona las utilidades siguientes para trabajar con Azure Storage:
Herramienta | Linux | OS X | Windows |
---|---|---|---|
Azure Portal | ✔ | ✔ | ✔ |
CLI de Azure | ✔ | ✔ | ✔ |
Azure PowerShell | ✔ | ||
AzCopy | ✔ | ✔ | |
Línea de comandos de Hadoop | ✔ | ✔ | ✔ |
Nota
El comando de Hadoop solo está disponible en el clúster de HDInsight. El comando solo permite cargar datos desde el sistema de archivos local en Azure Storage.
Línea de comandos de Hadoop
La línea de comandos de Hadoop solo es útil para almacenar datos en Azure Storage Blob cuando los datos ya están presentes en el nodo principal del clúster.
Para usar el comando de Hadoop, primero debe conectarse al nodo principal mediante SSH o PuTTY.
Una vez conectado, puede utilizar la siguiente sintaxis para cargar un archivo al almacenamiento.
hadoop fs -copyFromLocal <localFilePath> <storageFilePath>
Por ejemplo: hadoop fs -copyFromLocal data.txt /example/data/data.txt
Como el sistema de archivos predeterminado de HDInsight está en Azure Storage, /example/data/data.txt está en realidad en Azure Storage. También puede referirse al archivo como:
wasbs:///example/data/data.txt
Or
wasbs://<ContainerName>@<StorageAccountName>.blob.core.windows.net/example/data/davinci.txt
Para obtener una lista de otros comandos de Hadoop que funcionan con archivos, consulte https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html
Advertencia
En los clústeres de Apache HBase, el tamaño de bloque predeterminado al escribir datos es de 256 KB. Aunque esto funciona bien cuando se usan API de REST o API de HBase, el uso de los comandos hadoop
o hdfs dfs
para escribir más de ~ 12 GB de datos genera un error. Para más información, consulte la excepción de almacenamiento para escritura en blob.
Clientes gráficos
También hay varias aplicaciones que proporcionan una interfaz gráfica para trabajar con Azure Storage. La siguiente tabla es una lista de algunas de estas aplicaciones:
Remoto | Linux | OS X | Windows |
---|---|---|---|
Microsoft Visual Studio Tools para HDInsight | ✔ | ✔ | ✔ |
Explorador de Azure Storage | ✔ | ✔ | ✔ |
Cerulea |
✔ | ||
CloudXplorer | ✔ | ||
Explorador de CloudBerry para Microsoft Azure | ✔ | ||
Cyberduck | ✔ | ✔ |
Montaje de Azure Storage como unidad local
Vea Montaje de Azure Storage como unidad local.
Carga mediante servicios
Azure Data Factory
El servicio Azure Data Factory es un servicio completamente administrado para crear servicios de almacenamiento de datos, procesamiento y movimiento en canalizaciones de producción de datos confiable, escalable y simplificado.
Tipo de almacenamiento | Documentación |
---|---|
Azure Blob Storage | Copia de datos con Azure Blob Storage como origen o destino mediante Azure Data Factory |
(../data-factory/connector-azure-data-lake-store.md) | |
Azure Data Lake Storage Gen2 | Carga de datos en Azure Data Lake Storage Gen2 con Azure Data Factory |
Apache Sqoop
Sqoop es una herramienta diseñada para transferir datos entre Hadoop y las bases de datos relacionales. Puede usarla para importar datos desde un sistema de administración de bases de datos relacionales (RDBMS), como SQL Server, MySQL u Oracle. Después, en el sistema de archivos distribuido de Hadoop (HDFS). Transforme los datos de Hadoop con MapReduce o Hive y, a continuación, vuelva a exportar los datos a un RDBMS.
Para más información, consulte Uso de Sqoop con HDInsight.
SDK de desarrollo
También se puede acceder a Azure Storage mediante un SDK de Azure desde los siguientes lenguajes de programación:
- .NET
- Java
- Node.js
- PHP
- Python
- Ruby
Para obtener más información acerca de cómo instalar los SDK de Azure, consulte Descargas de Azure
Pasos siguientes
Ahora que ya sabe cómo enviar datos a HDInsight, consulte los artículos siguientes para más información sobre el análisis: