我試圖將文件從S3保存到hdfs,按年,月和日分區。 我有S3中的文件路徑以及RDD中的日期信息。TypeError:'JavaPackage'對象在使用rdd.foreach()時不可調用
def saveFile(filePath):
df = sqlContext.read.format("com.databricks.spark.csv")
.options(delimiter='|',header=True)
.load(filePath[0],schema=schema)
df.write.mode("overwrite")
.save(targetDir+"/year="+filePath[1]+"/month="+filePath[2]+"/day="+filePath[3])
filePathsRDD.foreach(saveFile)
的RDD.foreach
功能失敗,出現錯誤:
TypeError: 'JavaPackage' object is not callable
嗨,你有沒有試過通配符? http://stackoverflow.com/questions/37639956/how-to-import-multiple-csv-files-in-a-single-load – GwydionFR
我想將每天的文件保存在一個單獨的文件夾中,這就是爲什麼我正在閱讀他們的一天。我也可以通過在數據框中讀取所有數據(使用通配符)並將其保存爲木地板(按日期分區)來完成此操作。但是,此操作在驅動程序中需要較高的resultSize,這是未來擴展時的一個問題。 –