parsing/filtering json in Scala для Spark

Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

parsing/filtering json in Scala для Spark

Post by Сабина »

Никто не сталкивался с хорошей библиотекой, которая позволяет работать с json ? Желательно metadata driven ..
Например входной json который надо пропарсить и вытащить значения из полей. А path полей вычитываются из метаданных (конфиг) etc
https://www.youtube.com/watch?v=wOwblaKmyVw
iDesperado
Уже с Приветом
Posts: 1349
Joined: 28 Nov 2008 17:50

Re: parsing/filtering json in Scala для Spark

Post by iDesperado »

Сабина wrote: 27 Sep 2017 19:31 Никто не сталкивался с хорошей библиотекой, которая позволяет работать с json ? Желательно metadata driven ..
Например входной json который надо пропарсить и вытащить значения из полей. А path полей вычитываются из метаданных (конфиг) etc
а что за сложности со spark ? read.json() и у тебя структурированый DataSet или что-то другое требуется ?
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: parsing/filtering json in Scala для Spark

Post by Сабина »

iDesperado wrote: 27 Sep 2017 19:41
Сабина wrote: 27 Sep 2017 19:31 Никто не сталкивался с хорошей библиотекой, которая позволяет работать с json ? Желательно metadata driven ..
Например входной json который надо пропарсить и вытащить значения из полей. А path полей вычитываются из метаданных (конфиг) etc
а что за сложности со spark ? read.json() и у тебя структурированый DataSet или что-то другое требуется ?
несложно, но если generic metadata driven, то самим много писать, ищется готовое. Вроде jolt framework

все что я нахожу:
json -> json schema -> dataFrame

а мне нужно просто добавить
json -> transform (json, metadata)-> json schema -> dataFrame
https://www.youtube.com/watch?v=wOwblaKmyVw
iDesperado
Уже с Приветом
Posts: 1349
Joined: 28 Nov 2008 17:50

Re: parsing/filtering json in Scala для Spark

Post by iDesperado »

я в спарках не силен, думал что так можно: spark.read.schema(transformedSchema).json(path).as[MyObject]
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: parsing/filtering json in Scala для Spark

Post by Сабина »

iDesperado wrote: 27 Sep 2017 22:05 я в спарках не силен, думал что так можно: spark.read.schema(transformedSchema).json(path).as[MyObject]
Спасибо, попробую прикрутить то что у меня есть ( json schema для jolt), по идее сконвертировать схему несложно :fr:
https://www.youtube.com/watch?v=wOwblaKmyVw
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: parsing/filtering json in Scala для Spark

Post by Сабина »

iDesperado wrote: 27 Sep 2017 22:05 я в спарках не силен, думал что так можно: spark.read.schema(transformedSchema).json(path).as[MyObject]
Уж извиняюсь за наглость, но дальше вопрос :) В той штуке что вы подсказали свой schema format, например

Code: Select all

val input = StructType(
                Array(
                    StructField("inputType",StringType,true), 
                    StructField("originalRating",LongType,true), 
                    StructField("processed",BooleanType,true), 
                    StructField("rating",LongType,true), 
                    StructField("score",DoubleType,true), 
                    StructField("methodId",StringType,true)
                )
            )
Например я создам какой то template based on nested JSON structure, мне в него надо запихать dynamic field name values из JSON.
Вопрос снова про Скалу/Spark - а есть что-то на эту тему готовoе ? Чтобы добавить динамически значения для placeholders - и стринг готов.

Code: Select all

generateSchema("StructType(
                Array(
                    StructField(%s,%s,true), 
                    StructField(%s,%s,true), 
                    StructField(%s,%s,true), 
                    StructField("%s,%s,true), 
                    StructField(%s,%s,true), 
                    StructField(%s",%s,true)
                )
            )",field1_name, field1_type,field2_name,field2_type,.... 
https://www.youtube.com/watch?v=wOwblaKmyVw
iDesperado
Уже с Приветом
Posts: 1349
Joined: 28 Nov 2008 17:50

Re: parsing/filtering json in Scala для Spark

Post by iDesperado »

ну если указание схемы прокатило, я бы просто хранил бы template.json, его бы читал и делал getSchema()
полученное и будет transformedSchema
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: parsing/filtering json in Scala для Spark

Post by Сабина »

iDesperado wrote: 28 Sep 2017 05:59 ну если указание схемы прокатило, я бы просто хранил бы template.json, его бы читал и делал getSchema()
полученное и будет transformedSchema
Хочется верить что все же есть уже какая то готовая библиотека на эту тему. Нашла приличную в PlayFramework версии для Scala
https://www.playframework.com/documenta ... ml#package - no Play тут конечно никаким боком не используется

Upd: нашла вот такое - http://software.clapper.org/scalasti/
https://www.youtube.com/watch?v=wOwblaKmyVw

Return to “Вопросы и новости IT”