自定义LOG投递OSS数据Partition,优化你的计算
数据划分Partition
OSS数据存储具有高可靠、低成本的特点,是海量数据存储的最佳选择之一,尤其适用于半结构化的日志存储,并可以结合E-MapReduce(使用Hive、Impala等计算引擎)通过schema-on-read方式加载数据做查询分析。
日志作为一种时间序列(time-series)数据,指定年、月、日进行分析是一种常见做法。例如使用Hive来分析OSS上的日志:
- 如果没有Partition,计算需要扫描整表(对应于OSS bucket前缀目录下的所有文件)
- 如果用时间设置了Partition,只需要加载指定OSS日期目录下的Object即可
对于大部分的日志分析而言,OSS上的日志通过Partition方式来存储,通过减少计算引擎需要扫描的数据规模可以得到三个好处:
- 缩短了数据分析的延时
- 免去计算引擎处理额外数据产生的开销
