Python中的结构化流处理

Python中的结构化流处理,python,pandas,Python,Pandas,我有以下(有限)数据流: def get_logs() -> Generator[Dict,None,None]: for .. in some_db_logs: yield { "utterance": ... "user_hash": ... } 我想根据它们的发音进行分组,并为每组计算两个聚合函数。在熊猫中,这将是: pd.DataFrame(get_logs()) .groupby

我有以下(有限)数据流:

def get_logs() -> Generator[Dict,None,None]:
  for .. in some_db_logs:
    yield {
        "utterance": ...
        "user_hash": ...
    }
我想根据它们的发音进行分组,并为每组计算两个聚合函数。在熊猫中,这将是:

pd.DataFrame(get_logs())
    .groupby("utterance")
    .agg(
        "user_hash": "count", 
        "user_hash": "nunique")
它统计每种话语的出现次数以及说出该话语的用户数量

语法对我来说非常清楚,因为我已经习惯了pandas,但是pandas在计算之前会将所有数据读入内存。对于我所拥有的数据的大小来说,这并不能很好地扩展。显然,我可以用纯Python实现,但是语法不再那么直观了


有没有现成的库可以让我用类似的语法执行结构化流处理?

如果您想内存不足,请尝试内存不足,例如Hadoop或Spark streaming