val result: DataFrame = sqlContext.read.json(path) result.write.json("/yourPath")
Метод
write
находится в классе DataFrameWriter и должен быть доступен вам на объектахDataFrame
. Просто убедитесь, что ваш rdd имеет типDataFrame
, а не устаревший типSchemaRdd
. Вы можете явно указать определение типаval data: DataFrame
или передать в dataFrame с помощьюtoDF()
.
Вам нужно нормализовать данные, развязав массив, тогда вы можете
select p.d
from mytable mt
cross join lateral jsonb_array_elements(mt.tags -> 'predictions') as p(d)
where (p.d ->> 'confidence')::int >= 50;
. Для приведенных выше выборочных данных возвращается:
{"label": "Shopping", "confidence": 91}
Пример в Интернете : http://rextester.com/CBIAR76462
select p.d from mytable mt cross join lateral jsonb_array_elements(unnest(mt.tags) -> 'predictions') as p(d) where (p.d ->> 'confidence')::int >= 50;
. извините, новичок pgsql. – Santino 14 July 2018 в 11:25jsonb_array_elements
делает ненужный – a_horse_with_no_name 14 July 2018 в 11:44