Я хотел бы указать схему при чтении из json, но при попытке сопоставить число с Double это терпит неудачу, я пробовал FloatType и IntType без радости!Задание схемы на JSON через Spark
Когда выводя идентификатор схемы клиента устанавливается в строку, и я хотел бы, чтобы бросить его как Double
так df1 поврежден во время df2 показывает
Также FYI мне это нужно, чтобы быть универсальным, как я бы хотели бы применить его к любому JSON, я указал ниже схему в качестве примера вопроса я обращенную
import org.apache.spark.sql.types.{BinaryType, StringType, StructField, DoubleType,FloatType, StructType, LongType,DecimalType}
val testSchema = StructType(Array(StructField("customerid",DoubleType)))
val df1 = spark.read.schema(testSchema).json(sc.parallelize(Array("""{"customerid":"535137"}""")))
val df2 = spark.read.json(sc.parallelize(Array("""{"customerid":"535137"}""")))
df1.show(1)
df2.show(1)
Любая помощь будет оценена, я уверен, что я пропускаю что-то очевидное, но для жизни я не могу сказать, что это такое!
Позволь мне прояснить, я загружаю файл, сохраненный с помощью sparkContext.newAPIHadoopRDD
Так преобразования РДДА [JSONObject] к dataframe при применении схемы к нему
Hi @ rogue-one, к сожалению, не уверен, как это можно сделать, потому что я загружаю данные из HDFS-подобного хранилища, хранилища Google, если быть точным. Итак, лучший способ, чем сопоставление каждой строки и удаление двойных кавычек? –