2016-04-30 4 views
1

Я пытаюсь найти слово на искры. Во-первых, я создаю контекст SQLapache spark DataFrame Операции чтения json file

scala> val sqlcontext = new org.apache.spark.sql.SQLContext(sc) 

Затем я создал файл JSON и хранятся в пути лестницу

{ 
    {"id" : "1201", "name" : "satish", "age" : "25"} 
    {"id" : "1202", "name" : "krishna", "age" : "28"} 
    {"id" : "1203", "name" : "amith", "age" : "39"} 
    {"id" : "1204", "name" : "javed", "age" : "23"} 
    {"id" : "1205", "name" : "prudvi", "age" : "23"} 
} 

ошибка Got когда я печатаю этот

scala> val dfs = sqlContext.read.json("employee.json") 

Ошибка

dfs: org.apache.spark.sql.DataFrame = [_corrupt_record: string, age: string, id: string, name: string] 
+0

a) Искры JSON-считывателя поддерживает формат JSON, а не многострочный JSON. B) Это даже не справедливо. JSON – zero323

+0

@ zero323, так что мне нужно делать ??? – text

+0

Для начала снимите первый левый кронштейн и последний правый кронштейн. – zero323

ответ

0

Множество людей в JSON будет loo к что-то вроде:

{ "people": [ 
    {"id" : "1201", "name" : "satish", "age" : "25"}, 
    {"id" : "1202", "name" : "krishna", "age" : "28"}, 
    {"id" : "1203", "name" : "amith", "age" : "39"}, 
    {"id" : "1204", "name" : "javed", "age" : "23"}, 
    {"id" : "1205", "name" : "prudvi", "age" : "23"} 
    ] 
} 

Если вы хотите одно значение JSon в каждой строке, так как искры потребует, вы хотите что-то больше похоже:

{"id" : "1201", "name" : "satish", "age" : "25"} 
    {"id" : "1202", "name" : "krishna", "age" : "28"} 
    {"id" : "1203", "name" : "amith", "age" : "39"} 
    {"id" : "1204", "name" : "javed", "age" : "23"} 
    {"id" : "1205", "name" : "prudvi", "age" : "23"} 

Во втором случае каждая строка является одним действительным json document. В первом случае все это действительный документ json. В вашем случае у вас тоже нет. Существуют инструменты, которые будут проверять json, например. вы можете попробовать разобрать json в окне консоли javascript в хром-инструментах разработчика.

С точки зрения моделирования данных вы, как правило, также хотите, чтобы возраст представлялся как дата рождения, а не временный текущий возраст ... или, по крайней мере, быть числовым, а не строкой.

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