2017-02-08 2 views
0

Когда я пытаюсь извлечь вложенные данные в формате JSON с помощью искрового SQL-запрос:выборки данных JSON с помощью искрового SQL

SparkContext sc = new SparkContext(new SparkConf().setAppName("sql").setMaster("local")); 
SQLContext sqlContext = new SQLContext(sc); 
DataFrame df = sqlContext.read().json("path_to_s3_bucket").cache(); 
df.registerTempTable("table_name"); 
DataFrame d=sqlContext.sql("Select address.state as state from table_name"); 

Я получаю й за исключением следующего

Exception in thread "main" org.apache.spark.sql.AnalysisException: Can't extract value from address 

Мои данные Json является например: -

"address":{"city":"xyz","state":"abc","country":"pqr"} 

Помогите решить проблему.

+0

как вы прочитали json в таблице? Пожалуйста, предоставьте код того, что вы сделали ... –

+0

Я сохранил изменения. –

+0

попробуйте выполнить df.show() и df.printSchema на фрейме данных перед регистрацией –

ответ

0

Ваш json недействителен. Это должно быть: {"address": {"city": "xyz", "state": "abc", "country": "pqr"}}

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