pyspark dataframe.write.saveAsTable内存错误

时间:2016-03-15 12:17:14

标签: python apache-spark dataframe pyspark

我循环浏览一组包含file_id, mimetype, file_data的csv文件并使用Databricks spark-csv创建一个DataFrame。然后我想将该数据帧写入Parquet Hive表。每个csv文件大约为400MB,包含1到n行,基于file_data列的大小,其中包含二进制文件(ppts,pdfs等)。我遇到了内存错误,并想知道是否有更好的方法或我如何分别读取或写入每个DataFrame行。我在13节点集群上通过Cloudera CDH5.5.1上的Jupyter运行pyspark。

for f in files:
   fullpath = path + f
   df = sqlContext.read.format('com.databricks.spark.csv') \
      .options(header='false', 'inferschema='false', nullValue='NULL', treatEmptyValuesAsNulls='true') \
      .load(fullpath), schema = customSchema)
   print df.count()
   df.write.format("parquet").mode("append").saveAsTable(tablename)
   print "done"

0 个答案:

没有答案