Spark:将Avro RDD转换为csv

罗摩克里希纳


我能够读arvo入文件,avroRDD并尝试将csvRDD包含所有以逗号分隔的值转换为该文件。使用以下代码,我可以将特定字段读入csvRDD

val csvRDD = avroRDD .map({case (u, _) => u.datum.get("empname")})

如何将所有值读入csvRDD而不是指定字段名称。我的结果csvRDD应包含以下记录

(100,John,25,IN)
(101,Ricky,38,AUS)
(102,Chris,68,US)
马塞尔·克查(Marcel Krcah)

结合使用Databricks的Spark 1.2+和Spark-Avro集成库,可以将avro rdd转换为csv rdd,如下所示:

val sqlContext = new SQLContext(sc)
val episodes = sqlContext.avroFile("episodes.avro")
val csv = episodes.map(_.mkString(","))

运行csv.collect().foreach(println)使用该样本的Avro文件打印

The Eleventh Hour,3 April 2010,11
The Doctor's Wife,14 May 2011,11
Horror of Fang Rock,3 September 1977,4
An Unearthly Child,23 November 1963,1
The Mysterious Planet,6 September 1986,6
Rose,26 March 2005,9
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章