Saltar al contenido

leyendo el archivo json en pyspark

Este team de trabajo ha estado horas buscando respuestas a tu interrogante, te dejamos la respuestas así que nuestro deseo es servirte de mucha apoyo.

Solución:

En primer lugar, el json no es válido. Después del encabezado un , Está perdido.

Dicho esto, tomemos este json:

"header":"platform":"atm","version":"2.0","details":["abc":"3","def":"4","abc":"5","def":"6","abc":"7","def":"8"]

Esto puede ser procesado por:

>>> df = sqlContext.jsonFile('test.json')
>>> df.first()
Row(details=[Row(abc='3', def='4'), Row(abc='5', def='6'), Row(abc='7', def='8')], header=Row(platform='atm', version='2.0'))

>>> df = df.flatMap(lambda row: row['details'])
PythonRDD[38] at RDD at PythonRDD.scala:43

>>> df.collect()
[Row(abc='3', def='4'), Row(abc='5', def='6'), Row(abc='7', def='8')]

>>> df.map(lambda entry: (int(entry['abc']),     int(entry['def']))).collect()
[(3, 4), (5, 6), (7, 8)]

¡Espero que esto ayude!

import pyspark
from pyspark import SparkConf

# You can configure the SparkContext

conf = SparkConf()
conf.set('spark.local.dir', '/remote/data/match/spark')
conf.set('spark.sql.shuffle.partitions', '2100')
SparkContext.setSystemProperty('spark.executor.memory', '10g')
SparkContext.setSystemProperty('spark.driver.memory', '10g')
sc = SparkContext(appName='mm_exp', conf=conf)
sqlContext = pyspark.SQLContext(sc)

data = sqlContext.read.json(file.json)

Siento que se perdió una parte importante de la secuencia de lectura. Tienes que inicializar un SparkContext.

Cuando inicia un SparkContext, también activa una interfaz de usuario web en el puerto 4040. Se puede acceder a la interfaz de usuario web mediante http://localhost:4040. Es un lugar útil para verificar el progreso de todos los cálculos.

Aquí tienes las comentarios y calificaciones

¡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 *