Pyspark - среднее число дней по году и месяцу - PullRequest
0 голосов
/ 12 июня 2018

У меня есть файл CSV, который хранится в формате hdf в следующем формате:

Business Line,Requisition (Job Title),Year,Month,Actual (# of Days)
Communications,1012_Com_Specialist,2017,February,150
Information Technology,5781_Programmer_Associate,2017,March,80
Information Technology,2497_Programmer_Senior,2017,March,120
Services,6871_Business_Analyst_Jr,2018,May,33

Я хотел бы получить среднее значение за фактическое (количество дней) по году и месяцу.Может кто-нибудь помочь мне, как я могу сделать это с помощью Pyspark и сохранить результаты в файле Parquet?

1 Ответ

0 голосов
/ 12 июня 2018

вы можете конвертировать CSV в DF и запустить spark-sql, как показано ниже:

csvRDD.map(rec => {
 val i = rec.split(',');
 (i(0).toString, i(1).toString, i(2).toString, i(3).toString, i(4).toInt)   
}).toDF("businessline","jobtitle","year","month","actual").registerTempTable("input")

val resDF = sqlContext.sql("Select year, month, avg(actual) as avgactual from input group by year, month")
resDF.write.parquet("/user/path/solution1")
...