2016-10-15 160 views
1

我拿一个JSON文件火花/斯卡拉,我保存在一个RDD。Rdd火花和斯卡拉JSON

val dataFile = "resources/tweet-json/hello.json" 
    lazy val rdd = SparkCommons.sqlContext.read.format("json").load(dataFile) 

查询rdd后,我想再次生成一个Json输出文件(我将发送一个get Http请求)。我如何在json中转换这个rdd?

[ 
{ 
    "label": [ 
     "fattacq_an_eser_facq", 
     "eu_tot_doc", 
     "fattacq_prot_facq", 
     "id_sogg", 
     "eu_tot_man" 
    ], 
    "values": [ 
     { 
      "label": "Prima Fattura 2016", 
      "values": [ 
       2016, 
       956.48, 
       691, 
       44633, 
       956.48 
      ] 
     }, 
     { 
      "label": "Seconda Fattura 2016", 
      "values": [ 
       2016, 
       190, 
       982, 
       38127, 
       190 
      ] 
     }, 
     { 
      "label": "Terza Fattura 2016", 
      "values": [ 
       2016, 
       140.3, 
       1088, 
       59381, 
       140.3 
      ] 
     }, 
     { 
      "label": "Quarta Fattura 2016", 
      "values": [ 
       2016, 
       488, 
       1091, 
       59382, 
       488 
      ] 
     }, 
     { 
      "label": "Quinta Fattura 2016", 
      "values": [ 
       2016, 
       11365.95, 
       1154, 
       57526, 
       11365.95 
      ] 
     }, 
     { 
      "label": "Sesta Fattura 2016", 
      "values": [ 
       2016, 
       44440.01, 
       1276, 
       5555, 
       44440.01 
      ] 
     } 
    ] 
    } 
] 
+0

P.s .:我使用Play Framework – Mozzer

回答

1

您可以简单地使用write函数写出来JSON的 例子:

dfTobeSaved.write.format("json").save("/root/data.json") 

我想这应该能正常运行!

+0

感谢您的回答,但我需要发送此文件与http请求。我怎样才能做到这一点? – Mozzer

+0

在quering之后我把rdd保存为json格式,然后我怎样才能发送这个文件作为一个HTTP方法的GET方法? – Mozzer

+0

为此,您可以使用Akka-http发送它..您可以在这里查看更多http://doc.akka.io/docs/akka/2.4/scala/http/client-side/request-level。 html谢谢,并做了upvote,以便其他人可以轻松找到答案 –