海量数据处理技术学习
海量数据处理的常用技术可分为:
外排序:因为海量数据无法全部装入内存,所以数据的大部分存入磁盘中,小部分在排序需要时存入内存。
MapReduce:分布式处理技术
hash技术:以Bloom filter技术为代表
外排序:主要适用于大数据的排序、去重。
分布式处理技术:MapReduce 技术思想是将数据交给不同的机器去处理,将数据切分,之后结果归约。
举例,统计出一批数据的TOP N
首先可以根据数据值或者数据HASH(MD5)后的值将数据按照范围划分,不同的服务器负责处理各种的数值范围,实际上就是map,得到结果后,各个服务器拿出各自的出现次数最多的前N个数据,然后汇总,选出所有的数据中出现次数最多的前N个数据,这实际上就是reduce的过程。
1、处理海量数据的常用技巧,比如分区操作。比如针对按年份或按月份存取的数据,将数据分散开,减少磁盘I/0,减少系统负荷,也可将日志、索引存放于不同的分区下。
2、提高硬件条件、增加CPU,加大磁盘空间等。
3、加大虚拟内存。
4、分批处理。 可以对海量数据分批处理,处理后的数据再进行合并操作,这样逐个击破,有利于下哦数据量的处理。 一般按日、月等存储的数据,都可以采用先分后合的方法,对数据分开处理。
5、使用临时表和中间表。 如果大表处理不了,只能拆分为多个小表,不要一个sql语句全部完成,卡死你。
6、部分文件可以使用文件格式进行处理。一般海量的网络日志都是文本格式或者CSV格式,对它进行处理牵扯到数据清洗,可以利用程序进行处理,无需导入数据库再做清洗。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
hive shell 导入数据
数据 10046,108100000036-IOS,2.4,appStore,34C11930-796E-4F79-892D-D648052C06BF1457624722526,20160310235139299,20160310,376774,f2aa9902e665afe1feceb9502d7bec0ca5acc6fddfd69d1c7eaf5a51503afd78,iPhone,apple,568*320,unknown,4G,unknown,中国移动,unknown,zh-Hans-CN,iOS,9.1,8 10046,108100000036-IOS,2.4,appStore,34C11930-796E-4F79-892D-D648052C06BF1457624722526,20160310234817965,20160310,175440,f2aa9902e665afe1feceb9502d7bec0ca5acc6fddfd69d1c7eaf5a51503afd78,iPhone,apple,568*320,unknown,4G,unknown,中国移动,unknown,...
- 下一篇
Hadoop1.X 与 Hadoop2.X比较
鉴于好久没有更新博客,且最近开始找工作,所以对以往的相关知识进行整理 一:Haddop版本介绍 0.20.x版本最后演化成了现在的1.0.x版本 0.23.x版本最后演化成了现在的2.x版本 hadoop 1.0 指的是1.x(0.20.x),0.21,0.22 hadoop 2.0 指的是2.x,0.23.x CDH3,CDH4分别对应了hadoop1.0 hadoop2.0 二、Hadoop1.X与Hadoop2.X区别 1、HDFS的改进 1.1 Hadoop1.x时代的HDFS架构 在Hadoop1.x中的NameNode只可能有一个,虽然可以通过SecondaryNameNode与NameNode进行数据同步备份,但是总会存在一定的延时,如果NameNode挂掉,但是如果有部份数据还没有同步到SecondaryNameNode上,还是可能会存在着数据丢失的问题。该架构如图1所示: 图1 Hadoop1.x时代的HDFS结构图 该架构包含两层:Namespace 和BlockStorageService; 其中,Namespace 层面包含目录、文件以及块的信息,支持对Name...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)