2016-10-21 4 views

ответ

0

К сожалению, для этого нет стандартного способа.

В отличие от YAML, который имеет четко определенный способ разрешить одному файлу содержать несколько документов YAML, JSON не имеет таких стандартов.

Один из способов решения вашей проблемы - придумать свой «разделитель объектов». Например, вы можете использовать символы новой строки для разделения соседних объектов JSON. Вы можете указать вашему кодеру JSON не выводить символы новой строки (вытесняя его в \ и n). Пока ваш JSON-декодер уверен, что он не увидит символ новой строки, если он не разделяет два объекта JSON, он может считывать поток по одной строке за раз и декодировать каждую строку.

Это также было suggested, что вы можете использовать массивы JSON для хранения нескольких объектов JSON, но это больше не будет «потоком».

0

Вы можете прочитать содержимое ваших файлов последовательности в RDD [String] и преобразовать его в Spark Dataframe.

val seqFileContent = sc 
    .sequenceFile[LongWritable, BytesWritable](inputFilename) 
    .map(x => new String(x._2.getBytes)) 
val dataframeFromJson = sqlContext.read.json(seqFileContent) 

 Смежные вопросы

  • Нет связанных вопросов^_^