【发布时间】:2021-06-28 03:18:43
【问题描述】:
我在查看https://stackoverflow.com/a/50969995 后尝试使用以下代码,但我了解到答案中的createDataFrame 与spark.read.json 相比是不同的,并且不能以相同的方式使用。
import findspark
findspark.init('/home/myuser/softwareInstallations/spark-3.1.1-bin-hadoop2.7')
import pyspark
from pyspark.sql import SparkSession
from pyspark.sql.types import StructField, StructType, IntegerType, StringType, ArrayType, FloatType
spark = SparkSession.builder.appName('Basics').getOrCreate()
data_schema = StructType([StructField('col1', IntegerType(), False),
StructField('col2', IntegerType(), False),
StructField('col3', FloatType(), False)])
df1 = spark.read.json('myfile.json', schema=data_schema)
df1.printSchema()
df1.show()
我分享的答案链接演示了如何将 2 个长度数组的数组放入 df。我怎么能对文件中的数据做同样的事情。我的数据在myfile.json 中看起来像这样。
[
[58808,2,0.103],
[58807,2,0.77345],
[58805,1,0.05],
[58804,4,0.58475]
]
我是 python 和 pyspark 的新手,希望你不会把我缺乏理解误认为是懒惰 XD。
【问题讨论】:
标签: python json apache-spark pyspark