我可以访问任何一个月数亿行的数据。3个特性:表示日期的字符串、表示类型的字符串和表示金额的值。
有了python和impala(sql)的访问权限,计算每月每种类型的数百万行的中位数的最佳方法是什么?
如果我使用一个简单的groupby:date部分的type和substring来获取month eg substring(date,1,4),并使用appx\u median函数来获取中值,那么对于impala查询,我的内存就用完了。
如果我尝试将原始数据作为csv(比如使用dbeaver),它的大小是巨大的-gbs太大,无法放入我可以访问的vm的内存中,如果我尝试将csv推入pythonDataframe中,它将容纳csv。
我不熟悉处理大数据的模式,所以任何提示都非常感谢。由于数据太大,我很难进行简单的计算。
1条答案
按热度按时间z5btuh9x1#
您可以通过指定
SET MEM_LIMIT=Xg
,其中x是每个impala守护进程的内存(以gb为单位)。看到了吗https://impala.apache.org/docs/build/html/topics/impala_mem_limit.html 更多细节。