我在AWS上的Cloudera Hadoop集群上使用pyspark2。 Spark版本是2.0.0.cloudera1,Python版本= Python 2.7.12 | Continuum Analytics,Inc。|
我的目标是从hdfs中提取数据子集,然后创建结果的平面.csv文件。但我得到的是一个csv文件,其中“field_name =”前置于每个值。使用rdd.saveasTextFile时如何获得常规.csv?
在从HDFS读取源代码后,我的代码看起来像这样:
outp = src_file.select(pyspark.sql.functions.from_unixtime("report_epoch"),"field01","field02","field03","field04","field05")
outp.rdd.coalesce(1).saveAsTextFile(path=source_dir_path, compressionCodecClass="org.apache.hadoop.io.compress.GzipCodec")
并且生成的文件(解压缩后)如下所示:
Row(fromunixtime(report_epoch,yyyy-MM-dd HH:mm:ss)=u'2017-02-01 00:00:00', field01=u'23ad61e1f771', field02=u'GG3', field03=27245805, field04=316260105, field05=150)
Row(fromunixtime(report_epoch,yyyy-MM-dd HH:mm:ss)=u'2017-02-01 00:00:00', field01=u'925aa5c25a49', field02=u'KLK767', field03=1133298142, field04=1366285744, field05=150)
Row(fromunixtime(report_epoch,yyyy-MM-dd HH:mm:ss)=u'2017-02-01 00:00:00', field01=u'8317d1cb65001', field02=u'HH721S', field03=234439515, field04=18147477579, field05=150)
这是我正在寻找的数据,但我希望它采用传统的扁平.csv格式,如下所示:
2017-02-01 00:00:00,'23ad61e1f771','GG3',27245805,316260105,150
2017-02-01 00:00:00,'925aa5c25a49','KLK767',1133298142,1366285744,150
2017-02-01 00:00:00,'8317d1cb65001','HH721S',234439515,18147477579,150
那么如何告诉saveasTextFile让我成为一个文件呢?
答案 0 :(得分:0)
我建议如下:
await Conversation.SendAsync(activity, () => new FirstDialogClass());
这应该可以解决问题。 让我知道它是怎么回事!