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 Gen1 y Gen2. Azure Storage y Data Lake Storage Gen1 y 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 Gen1 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. Consulte también Uso de Data Lake Storage Gen1 con HDInsight y Uso de Data Lake Storage Gen2 con HDInsight.

Prerrequisitos

Tenga en cuenta los siguientes requisitos antes de empezar:

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
Azure Data Lake Storage Gen1 Copia de datos con Azure Data Lake Storage Gen1 como origen o destino mediante Azure Data Factory
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: