Как разбить входные данные на несколько файлов на основе поля даты в pyspark? - PullRequest
0 голосов
/ 12 октября 2018

У меня есть таблица улья с полем даты.

+----------+------+-----+ 
|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 голосов
/ 12 октября 2018

Посмотрите на partitionBy() в DataFrameWriter классе.Пример использования будет df.write.partitionBy(date)...

...