Ho bisogno di leggere alcuni dati JSON da un servizio Web che fornisce interfacce REST per interrogare i dati dal mio codice SQL SPARK per l'analisi. Sono in grado di leggere un JSON memorizzato nell'archivio BLOB e usarlo.SQL Spark: come utilizzare i dati json da un servizio REST come DataFrame
Mi chiedevo quale sia il modo migliore per leggere i dati da un servizio REST e utilizzarlo come qualsiasi altro DataFrame
.
BTW Sto usando SPARK 1.6 of Linux cluster on HD insight
se questo aiuta. Apprezzeremmo anche se qualcuno potesse condividere frammenti di codice per gli stessi che sono ancora molto nuovi nell'ambiente SPARK.
è esso un unico blob JSON che si desidera parallelizzare (distribuire ai nodi) dopo il download, o si tratta di molti diverse stringhe JSON che preferiresti scaricare direttamente nei nodi? Se un singolo blob è formattato come indicato su http://spark.apache.org/docs/latest/sql-programming-guide.html#json-datasets "Ogni riga deve contenere un JSON valido separato e autonomo object " – Ashish
@Ashish: questi sono in realtà più file esposti dal mio webservice da qualche parte nell'ordine da 8 a 10 e non molto grandi. Utilizzato principalmente come contesto per i dati memorizzati nell'HDFS per la mia analisi. Ho guardato il link, ma tutti gli esempi stanno cercando i file locali, c'è un modo per leggerlo un po 'come questo 'val path =" http: //www.examples/src/main/resources? Type = people "' – Kiran
Spark non può analizzare un json arbitrario su dataframe, perché json è struttura gerarchica e dataframe piatta. Se il tuo json non viene creato da spark, è probabile che non sia conforme a "Ogni riga deve contenere un oggetto JSON valido e autonomo valido" e quindi dovrà essere analizzato usando il tuo codice personalizzato e quindi inserito nel dataframe come raccolta di oggetti case class o spark sql Rows. uno dei modi per fare il parsing in scala è mostrato in http://stackoverflow.com/questions/37003083/spark-parquet-nested-value-flatten/37005148#37005148 – Ashish