Apache spark Pyspark-如何将拼花地板文件转换为带分隔符的文本文件
我有一个拼花地板文件,其模式如下: |日期| ID| 我想将其转换为带有制表符分隔符的文本文件,如下所示: 20170403 15284503 在pyspark中如何执行此操作?在Spark 2.0中+Apache spark Pyspark-如何将拼花地板文件转换为带分隔符的文本文件,apache-spark,pyspark,parquet,pyspark-sql,tab-delimited-text,Apache Spark,Pyspark,Parquet,Pyspark Sql,Tab Delimited Text,我有一个拼花地板文件,其模式如下: |日期| ID| 我想将其转换为带有制表符分隔符的文本文件,如下所示: 20170403 15284503 在pyspark中如何执行此操作?在Spark 2.0中+ spark.read.parquet(input_path) 将拼花地板文件读入数据帧 以制表符分隔的形式写出数据帧 您可以使用DataFrame在python中读取.parquet文件,并使用list数据结构将其保存在文本文件中。示例代码如下: 此代码读取.parquet文件中spark m
spark.read.parquet(input_path)
将拼花地板文件读入数据帧
以制表符分隔的形式写出数据帧 您可以使用DataFrame
在python中读取.parquet文件,并使用list
数据结构将其保存在文本文件中。示例代码如下:
此代码读取.parquet文件中spark mllib WordEmbeddings类输出的word2vec(字到向量),并将其转换为tab delimiter.txt文件
我希望有帮助:)
spark.write.csv(output_path, sep='\t')
import pandas as pd
import pyarrow.parquet as pq
import csv
data = pq.read_pandas('C://...//parquetFile.parquet', columns=['word', 'vector']).to_pandas()
df = pd.DataFrame(data)
vector = df['vector'].tolist()
word = df['word']
word = word.tolist()
k = [[]]
for i in range(0, word.__len__()):
l = []
l.append(word[i])
l.extend(vector[i])
k.append(l)
#you can not save data frame directly to .txt file.
#so, write df to .csv file at first
with open('C://...//csvFile.csv', "w", encoding="utf-8") as f:
writer = csv.writer(f)
for row in k:
writer.writerow(row)
outputTextFile = 'C://...//textFile.txt'
with open(outputTextFile, 'w') as f:
for record in k:
if (len(record) > 0):
for element in record:
#tab delimiter elements
f.write("%s\t" % element)
f.write("%s" % element)
#add enter after each records
f.write("\n")