0
數據幀進行遍歷時,我有叫people.jsonArrayOutOfBoundException通過火花SQL
{"name":"Michael"}
{"name":"Andy", "age":30}
{"name":"Justin", "age":19}
下面的代碼給我arrayOutOfBoundsException的數據集。
import org.apache.spark.sql.SparkSession
val sparkSession = SparkSession.builder
.master("local")
.appName("my-spark-app")
.config("spark.some.config.option", "config-value")
.getOrCreate()
val peopleDF = sparkSession.sparkContext.
textFile("C:/Users/Desktop/Spark/people.json").
map(_.split(",")).
map(attributes => Person(attributes(0),attributes(1).trim.toInt)).
toDF()
peopleDF.createOrReplaceTempView("person")
val teenagersDF = sparkSession.sql("select name, age FROM person")
teenagersDF.show()
看起來像我試圖通過一個空的數據框。誰能告訴我爲什麼這是空的?
第一行(1)中的任何屬性。你爲什麼不直接用'spark.read.json'創建一個數據框? – philantrovert
謝謝你。我爲第一行添加了一個數字。第一行是{「name」:「Michael」,「age」:23}現在我得到java.lang.NumberFormatException:對於輸入字符串:「」age「:23}」 – Srinivas
這是因爲您正在解析它不正確。你需要使用'sparkSession.read.json'來讀取一個json文件作爲數據框。如果數據類似於「Micheal,23」,那麼你的代碼就可以工作。 – philantrovert