2015-10-18 39 views
2

我使用SQL星火提取从JSON文件中的一些信息阶。现在的问题是我想从SQL分析结果保存到另一个JSON与高原或d3.js.绘制它问题是我不知道究竟是如何做到这一点。任何建议?保存JSON从SparkSQL

val inputTable = sqlContext.jsonFile(inputDirectory).cache() inputTable.registerTempTable("inputTable")

val languages = sqlContext.sql(""" 
     SELECT 
      user.lang, 
      COUNT(*) as cnt 
     FROM tweetTable 
     GROUP BY user.lang 
     ORDER BY cnt DESC 
     LIMIT 15""") 
languages.rdd.saveAsTextFile(outputDirectory + "/lang") 
languages.collect.foreach(println) 

我不介意我救我的数据转换为.csv文件,但我不知道究竟是如何做到这一点。

谢谢!

+0

可能的重复http://stackoverflow.com/questions/33174443/how-to-save-a-spark-dataframe-as-csv-on-disk/33174577#33174577 – eliasah

回答

3

这只是

val languagesDF: DataFrame = sqlContext.sql("<YOUR_QUERY>") 
languagesDF.write.json("your.json") 

你并不需要去回RDD

尽管如此,照顾,你的JSON将被分成多个部分。 如果这不是你的意图,读

如何规避这一点(如果确实需要)。主要的一点是在使用repartition或​​3210。

+2

无论如何,你知道吗?可以避免下我的选择,而不是与_SUCCES和兼职的目录*的S3键名hadoopish格式和存储数据到一个文件? – lisak