Potrzebuję odczytać niektóre dane JSON z usługi sieci Web dostarczającej interfejsy REST w celu zapytania danych z mojego kodu SQL SPARK do analizy. Jestem w stanie odczytać JSON przechowywany w sklepie blob i używać go.Spark SQL: Jak pochłonąć dane json z usługi REST jako DataFrame
Zastanawiam się, jaki jest najlepszy sposób, aby odczytać dane z usługi REST i używać go jak każdego innego DataFrame
.
BTW Używam SPARK 1.6 of Linux cluster on HD insight
, jeśli to pomaga. Byłoby to również doceniane, gdyby ktoś mógł udostępniać dowolne fragmenty kodu w taki sam sposób, jak ja wciąż jestem bardzo nowym środowiskiem SPARK.
jest to pojedynczy JSON blob że chcesz parallelize (dystrybuować do węzłów) po pobraniu, czy jest to wiele różne ciągi JSON, które wolisz pobierać bezpośrednio w węzłach? Jeśli jest to pojedynczy obiekt typu blob, to jest on sformatowany zgodnie z opisem pod adresem http://spark.apache.org/docs/latest/sql-programming-guide.html#json-datasets "Każda linia musi zawierać osobny, samodzielny poprawny JSON obiekt " – Ashish
@Ashish: Są to w rzeczywistości wiele plików odsłoniętych przez moją usługę internetową gdzieś w kolejności od 8 do 10 i niezbyt duży rozmiar. Przeważnie używany jako kontekst do danych przechowywanych w HDFS dla mojej analizy. Spojrzałem na link, ale wszystkie przykłady szukają plików lokalnych, czy istnieje sposób, aby go przeczytać w taki sposób, jak ta 'val path =" http: //www.examples/src/main/resources? Type = people "' – Kiran
Spark nie może parsować arbitralnej json do ramki danych, ponieważ json jest strukturą hierarchiczną, a ramka danych jest płaska. Jeśli twój json nie jest tworzony przez iskrę, istnieje ryzyko, że nie jest zgodny z "Każda linia musi zawierać oddzielny, samodzielny prawidłowy obiekt JSON", a zatem będzie musiał zostać przeanalizowany przy użyciu twojego niestandardowego kodu, a następnie dostarczony do ramki danych jako kolekcja obiektów klasy case lub wierszy sql sql. jeden ze sposobów robienia skryptów w scala jest pokazany w http://stackoverflow.com/questions/37003083/spark-parquet-nested-value-flatten/37005148#37005148 – Ashish