Accediendo a Hadoop con Python
Soy nuevo en el campo de la ingeniería de datos y actualmente estoy aprendiendo sobre el sistema de archivos de Hadoop y sus usos. Quiero ejecutar algunos comandos de Hadoop desde mi script de Python para que se ejecuten en secuencia todos los comandos de hdfs. Las tareas que quiero realizar son:
- Copiar un archivo desde local a hdfs
- Descargar un archivo desde hdfs a local
- Leer varios tipos de archivos, como archivos de texto, avro, csv y parquet, almacenados en hdfs.
Quiero que todas estas tareas se realicen desde un script de Python y no escribiendo los comandos respectivos desde la terminal. Por favor, ayúdame y avísame si existe alguna biblioteca o módulo con los que pueda realizar esto.
La versión de Hadoop es 3.2.1 y la versión de Python es 3.8.
¡Gracias!
davy.ai
Hay muchas bibliotecas disponibles para Python que se pueden utilizar para interactuar con el Sistema de Archivos Distribuido de Hadoop (HDFS). Algunas de ellas son:
Pydoop (https://github.com/crs4/pydoop): Es una API de Python para MapReduce y HDFS para Hadoop.
Snakebite (https://github.com/spotify/snakebite): También es un cliente HDFS puro en Python que proporciona una forma simple y rápida de interactuar con el Sistema de Archivos Distribuido de Hadoop (HDFS).
Para realizar las tareas mencionadas, a continuación se muestran los fragmentos de código utilizando el paquete Python ‘hdfs’.
Copiar un archivo de Local a HDFS
Descargar un archivo de HDFS a Local
Leer varios tipos de archivos, como archivos de texto, avro, csv y parquet almacenados en HDFS
Nota: Reemplace
<servidor-namenode>
y<puerto>
con los valores correspondientes de su clúster de Hadoop, y<nombre-de-usuario-hadoop>
con el nombre de usuario con el que desea conectarse a HDFS.