如何根据pyspark中的日期字段将输入数据分为几个文件?

时间:2018-10-12 01:02:49

标签: csv apache-spark pyspark apache-spark-1.6

我有一个带有日期字段的配置单元表。

+----------+------+-----+ 
|data_field|  col1| col2| 
+----------+------+-----+ 
|10/01/2018|   125|  abc| 
|10/02/2018|   124|  def| 
|10/03/2018|   127|  ghi| 
|10/04/2018|   127|  klm| 
|10/05/2018|   129|  nop| 
+----------+------+-----+

我正在阅读下表。

hive_context = HiveContext(sc)
df = hive_context.sql("select data_field, col1 , col2 from table")

我想基于date_field列将输入数据分为几个文件,并将其放入date_field文件夹中。输出应如下所示。

/data/2018-10-01/datafile.csv 
/data/2018-10-02/datafile.csv 
/data/2018-10-03/datafile.csv 
/data/2018-10-04/datafile.csv 
/data/2018-10-05/datafile.csv 

例如:文件(/data/2018-10-01/datafile.csv)应该具有以下数据。

data_field,col1,col2
10/01/2018,125,abc

我应该采取什么方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

DataFrameWriter类中查看partitionBy()。用法示例为df.write.partitionBy(date)...