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)