前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >海量数据处理技术学习

海量数据处理技术学习

作者头像
用户3003813
发布2018-09-06 14:06:51
5970
发布2018-09-06 14:06:51
举报
文章被收录于专栏:个人分享

海量数据处理的常用技术可分为:

  外排序:因为海量数据无法全部装入内存,所以数据的大部分存入磁盘中,小部分在排序需要时存入内存。

  MapReduce:分布式处理技术

  hash技术:以Bloom filter技术为代表

外排序:主要适用于大数据的排序、去重。

分布式处理技术:MapReduce 技术思想是将数据交给不同的机器去处理,将数据切分,之后结果归约。

举例,统计出一批数据的TOP N

首先可以根据数据值或者数据HASH(MD5)后的值将数据按照范围划分,不同的服务器负责处理各种的数值范围,实际上就是map,得到结果后,各个服务器拿出各自的出现次数最多的前N个数据,然后汇总,选出所有的数据中出现次数最多的前N个数据,这实际上就是reduce的过程。

1、处理海量数据的常用技巧,比如分区操作。比如针对按年份或按月份存取的数据,将数据分散开,减少磁盘I/0,减少系统负荷,也可将日志、索引存放于不同的分区下。

2、提高硬件条件、增加CPU,加大磁盘空间等。

3、加大虚拟内存。

4、分批处理。 可以对海量数据分批处理,处理后的数据再进行合并操作,这样逐个击破,有利于下哦数据量的处理。 一般按日、月等存储的数据,都可以采用先分后合的方法,对数据分开处理。

5、使用临时表和中间表。 如果大表处理不了,只能拆分为多个小表,不要一个sql语句全部完成,卡死你。

6、部分文件可以使用文件格式进行处理。一般海量的网络日志都是文本格式或者CSV格式,对它进行处理牵扯到数据清洗,可以利用程序进行处理,无需导入数据库再做清洗。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-03-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档