我们有一个100TB大小的表,我们有多个客户使用同一个表(即每个客户使用不同的条件)。现在问题陈述是每次客户尝试查询从上到下扫描的表。
这会给所有查询带来很多缓慢。我们甚至无法根据任何业务键对表进行分区/存储。有人可以提供解决方案或指向类似的问题陈述及其解决方案。
您可以提供您的建议以及替代技术,以便我们选择最适合的建议。感谢。
答案 0 :(得分:1)
我的2美分:尝试使用GZip压缩的ORC表(默认)和巧妙的分区/排序......
聪明的分区&在 INSERT 时巧妙地排序数据,使用最频繁的过滤器,修剪效率非常高。
然后,您可以查看优化,例如使用非默认ORC条带大小,非默认"字节每减速器"门槛等。
参考:
最后一件事:有15个节点用于运行查询,复制因子为3,每个HDFS块都可用"本地" 3节点(20%)和"远程"其余的(80%)。更高的复制因子可能会减少I / O和网络瓶颈 - 当然是以磁盘空间为代价。