我需要在数小时的Dataframe批上运行一组转换。小时数应该参数化,这样就可以更改了——例如,在3小时的Dataframe上运行转换,然后再运行2小时。这样,应该有一个步骤,为每个转换提供参数化的小时数。
转换的签名如下所示:
def transform(wordsFeed: DataFrame)(filesFeed: DataFrame): Unit
所以我想把这个划分成批,然后在这个数据源上调用一个转换。但我不能使用groupby,因为它会将dataframe更改为分组数据集,而我需要保留模式中的所有列。我该怎么做?
val groupedDf = df.srcHours.groupBy($"event_ts")
transform(keywords)(groupedDf)
数据架构如下所示:
root
|-- date_time: integer (nullable = true)
|-- user_id: long (nullable = true)
|-- order_id: string (nullable = true)
|-- description: string (nullable = true)
|-- hashed_user_id: string (nullable = true)
|-- event_date: date (nullable = true)
|-- event_ts: timestamp (nullable = true)
|-- event_hour: long (nullable = true)
引入这种批处理的主要原因是一次处理的数据太多。注意:在这种情况下,我仍然希望使用批处理数据,而不是流式处理
暂无答案!
目前还没有任何答案,快来回答吧!