你好,我只是想知道如何在星火Python的saveAsTextFile沒有支架和製表符分隔。 例星火saveAsTextFile製表符分隔在Python
('123', 2),('345', 3),('567', 9) to a file->
123 2
345 3
567 9
我知道有一個用C風格的印花樣的方式:(%C '\ t' %我,(V1,V2))
提前感謝!
你好,我只是想知道如何在星火Python的saveAsTextFile沒有支架和製表符分隔。 例星火saveAsTextFile製表符分隔在Python
('123', 2),('345', 3),('567', 9) to a file->
123 2
345 3
567 9
我知道有一個用C風格的印花樣的方式:(%C '\ t' %我,(V1,V2))
提前感謝!
你可以做一個映射,以讓他們製表符分隔的,那麼你可以很容易地使用saveAsTextFile
方法,在下面的例子。
rdd = sc.parallelize([('123', 2),('345', 3),('567', 9)])
rdd.map(lambda x: "%s\t%s" %(x[0],x[1])).saveAsTextFile("output")
這工作真棒!謝謝!我一直在尋找這很長一段時間了......而且幾乎沒有關於互聯網上的星火Python的格式化文件,「谷歌」 ...... –
這一個工作也:
>>> rdd.map(lambda (k, v): "{0},{1}".format(k, v)).saveAsTextFile("path")
如果使用SPARK數據框,你可以用寫格式,像這樣:
rdd = sc.parallelize([('123', 2),('345', 3),('567', 9)])
df = spark.createDataFrame(rdd)
rdd.write.csv(path='output_dir', sep='\t')
其中變量spark
是你pyspark.sql.session.SparkSession
。
答案一定是還與\ n 123 2 \ n 345 3 \ n 567 9 \ n –
你總是可以做映射之前saveAsTextFile具有製表符分隔的行。 – malisit
你有任何代碼示例嗎?提前致謝!!!對不起,我是很新的火花 –