代码之家  ›  专栏  ›  技术社区  ›  Rob

大数据的impala中值计算

  •  1
  • Rob  · 技术社区  · 6 年前

    我可以访问任何给定月份的数亿行数据。3个特性:一个表示日期的字符串、一个表示类型的字符串和一个表示金额的值。

    有了python和impala(sql)的访问权限,每月计算每种类型的数百万行的中位数的最佳方法是什么?

    如果我使用一个简单的group by:date部分的类型和子字符串来获取month-eg子字符串(date,1,4),并使用appx_中值函数来计算中值,那么我最终将耗尽impala查询的内存。

    如果我尝试将原始数据作为csv(比如使用dbeaver),那么它的大小是巨大的-gbs,太大了,无法放入我可以访问的vm的内存中,如果我尝试将csv推入python pandas数据帧,它将保存csv。

    我不熟悉处理大数据的模式,所以任何提示都会非常感谢。由于数据量太大,我很难进行简单的计算。

    1 回复  |  直到 6 年前
        1
  •  1
  •   mazaneicha    6 年前

    您可以通过指定 SET MEM_LIMIT=Xg ,其中x是以GB为单位的内存 每个impala守护进程 是的。见 https://impala.apache.org/docs/build/html/topics/impala_mem_limit.html 更多细节。