2
私はpydopを使ってpysparkのファイルを読み書きしています。私は仕事の出力をgzip形式で書きたいと思っています。私の現在のコードは次のようになります。pythonでpydoopを使ってgzipファイルを保存する
def create_data_distributed(workerNum,outputDir, centers, noSamples = 10, var = 0.1):
numCenters = centers.shape[0]
dim = centers.shape[1]
fptr_out = hdfs.hdfs().open_file(os.path.join(outputDir, ("part-%05d" % workerNum)) + ".txt", "w")
for idx in range(noSamples):
idxCenter = np.random.randint(numCenters)
sample = centers[idxCenter] + np.random.normal(size=(1,dim))
# output the sample. Need to
fptr_out.write("%d, " % idxCenter)
for i in range(len(sample[0])):
fptr_out.write("%f " %(sample[0][i]))
if (i < (len(sample[0])-1)):
fptr_out.write(",")
fptr_out.write("\n")
fptr_out.close()
return
どのように私は、このコードは、gzipファイルではなく、通常のファイルを開き、書き込みに作るのですか?
ありがとうございました!