Saltar al contenido

leyendo un archivo en hdfs desde pyspark

este problema se puede abordar de diversas maneras, por lo tanto te damos la que en nuestra opinión es la solución más completa.

Solución:

Puede acceder a los archivos HDFS a través de la ruta completa si no se proporciona ninguna configuración (namenodehost es su host local si hdfs se encuentra en un entorno local).

hdfs://namenodehost/inputFiles/CountOfMonteCristo/BookText.txt

Dado que no proporciona autoridad, el URI debería tener este aspecto:

hdfs:///inputFiles/CountOfMonteCristo/BookText.txt

de lo contrario inputFiles se interpreta como un nombre de host. Con la configuración correcta, no debería necesitar ningún esquema en absoluto:

/inputFiles/CountOfMonteCristo/BookText.txt

en lugar de.

Hay dos formas generales de leer archivos en Spark, una para archivos de gran distribución para procesarlos en paralelo, otra para leer archivos pequeños como tablas de búsqueda y configuración en HDFS. Para este último, es posible que desee leer un archivo en el nodo del controlador o en los trabajadores como una sola lectura (no como una lectura distribuida). En ese caso, debe utilizar SparkFiles módulo como a continuación.

# spark is a SparkSession instance
from pyspark import SparkFiles

spark.sparkContext.addFile('hdfs:///user/bekce/myfile.json')
with open(SparkFiles.get('myfile.json'), 'rb') as handle:
    j = json.load(handle)
    or_do_whatever_with(handle)

Comentarios y puntuaciones de la guía

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *