【发布时间】:2017-02-18 09:15:31
【问题描述】:
我有一个形式为 (patientID, [Medication]) 的分组 RDD,其中 Medication 是以下案例类:
case class Medication(patientID: String, date: Date, medicine: String)
RDD 由以下行组成:
val grpMeds = medication.groupBy(_.patientID)
其中药物是 RDD[药物] 形式的 RDD。
对于每个患者,我都在尝试找出一种特定药物“medicine_A”的最早和最晚日期(请注意,药物是case class Medication 的一种方法)。我要获取的是格式为 RDD[patientID, earlyDate, latestDate] 的 RDD,但不知道如何获取。
任何帮助将不胜感激。数据(从grpMeds.take(0).foreach(println) 获得)的示例如下所示。
Medication(000961291-01,Tue Jun 21 19:45:00 UTC 2005,Isotonic Saline (0.9%))
Medication(000096430-01,Mon Nov 15 20:45:00 UTC 2010,insulin aspart)
【问题讨论】:
-
那么使用
min和max有什么问题呢?样本数据和预期结果会有所帮助... -
Date 是一个 java.utils.Date 函数。我不相信它有最小/最大方法,但我可以使用 date1.before(date2)。添加了
grpMeds.take(0).foreach(println)返回的示例。
标签: sql scala apache-spark