- 博客(37)
- 资源 (3)
- 收藏
- 关注
原创 网站日志分析项目案例
.网站日志分析项目案例一、项目背景与数据情况1.1 项目来源 本次要实践的数据日志来源于国内某技术学习论坛,该论坛由某培训机构主办,汇聚了众多技术学习者,每天都有人发帖、回帖,如图1所示。图1 项目来源网站-技术学习论坛 本次实践的目的就在于通过对该技术论坛的日志进行分析,计算该论坛的一些关键指标,供运营者进行决策时参考。PS:开发该
2017-09-09 23:07:29 1001
转载 Hadoop学习---第四篇Mapreducer里的Partitioner
Partitioner就是对map输出的key进行分组,不同的组可以指定不同的reduce task处理;Partition功能由partitioner的实现子类来实现每写一段代码都会加深理解,程序里记录了自己的理解FlowBean类源码:[java] view plain copy package cn.zxl.flowco
2017-03-07 15:33:04 602
转载 简单却又复杂的FizzBuzz面试编程问题
写这篇文章主要是因为偶然看到一篇关于stackoverflow公司的面经中提到了一个有趣的面试编程问题,如题所述:FizzBuzz问题。原文引用如下: “在一些公平的考验之后,我发现那些因为代码而抓狂的人不是为了庞大的项目,而是在细小的地方就缠不休。所以我开始研究这些问题,收集这些编程人员的特点 和归结成一类问题,取名为“FizzBuzz 问题”。 FizzBuzz问题是一种英
2017-03-06 16:29:26 433
转载 Hadoop学习笔记—21.Hadoop2的改进内容简介
Hadoop2相比较于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了很大的提高,Hadoop2中有两个重要的变更:(1)HDFS的NameNode可以以集群的方式布署,增强了NameNodes的水平扩展能力和高可用性,分别是:HDFS Federation与HA;(2)MapReduce将JobTracker中的资源管理及任务生命周期管
2017-03-01 14:43:08 345
转载 Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析
网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html网站日志分析项目案例(三)统计分析:当前页面一、借助Hive进行统计1.1 准备工作:建立分区表 为了
2017-03-01 14:42:29 488
转载 Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗
网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html网站日志分析项目案例(二)数据清洗:当前页面网站日志分析项目案例(三)统计分析:http://www.cnblogs.com/edisonchou/p/4464349.html一、数据情况分析1.1 数据情况回顾 该论坛数据有两部分:
2017-03-01 14:41:40 420
转载 Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍
网站日志分析项目案例(一)项目介绍:当前页面网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html网站日志分析项目案例(三)统计分析:http://www.cnblogs.com/edisonchou/p/4464349.html一、项目背景与数据情况1.1 项目来源 本次要实践的数据日志来
2017-03-01 14:40:17 593
转载 Hadoop学习笔记—19.Flume框架学习
START:Flume是Cloudera提供的一个高可用的、高可靠的开源分布式海量日志收集系统,日志数据可以经过Flume流向需要存储终端目的地。这里的日志是一个统称,泛指文件、操作记录等许多数据。一、Flume基础理论1.1 常见的分布式日志收集系统 Scribe是facebook开源的日志收集系统,在facebook内部已经得到大量的应用。 Chukwa 是一个开源的用于
2017-03-01 14:39:13 386
转载 Hadoop学习笔记—19.Flume框架学习
START:Flume是Cloudera提供的一个高可用的、高可靠的开源分布式海量日志收集系统,日志数据可以经过Flume流向需要存储终端目的地。这里的日志是一个统称,泛指文件、操作记录等许多数据。一、Flume基础理论1.1 常见的分布式日志收集系统 Scribe是facebook开源的日志收集系统,在facebook内部已经得到大量的应用。 Chukwa 是一个开源的用于
2017-03-01 14:35:22 216
转载 Hadoop学习笔记—19.Flume框架学习
START:Flume是Cloudera提供的一个高可用的、高可靠的开源分布式海量日志收集系统,日志数据可以经过Flume流向需要存储终端目的地。这里的日志是一个统称,泛指文件、操作记录等许多数据。一、Flume基础理论1.1 常见的分布式日志收集系统 Scribe是facebook开源的日志收集系统,在facebook内部已经得到大量的应用。 Chukwa 是一个开源的用于
2017-03-01 14:34:02 194
转载 Hadoop学习笔记—19.Flume框架学习
START:Flume是Cloudera提供的一个高可用的、高可靠的开源分布式海量日志收集系统,日志数据可以经过Flume流向需要存储终端目的地。这里的日志是一个统称,泛指文件、操作记录等许多数据。一、Flume基础理论1.1 常见的分布式日志收集系统 Scribe是facebook开源的日志收集系统,在facebook内部已经得到大量的应用。 Chukwa 是一个开源的用于
2017-03-01 14:33:42 167
转载 Hadoop学习笔记系列文章导航
一、为何要学习Hadoop? 这是一个信息爆炸的时代。经过数十年的积累,很多企业都聚集了大量的数据。这些数据也是企业的核心财富之一,怎样从累积的数据里寻找价值,变废为宝炼数成金成为当务之急。但数据增长的速度往往比cpu和内存性能增长的速度还要快得多。要处理海量数据,如果求助于昂贵的专用主机甚至超级计算机,成本无疑很高,有时即使是保存数据,也需要面对高成本的问题,因为具有海量数据容量的存储
2017-02-28 10:39:13 277
转载 Hadoop学习笔记—18.Sqoop框架学习
一、Sqoop基础:连接关系型数据库与Hadoop的桥梁1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易。Apache Sqoop正在加紧帮助客户将重要数据从数据库移到Hadoop。随着Hadoop和关系型数据库之间的数据移动渐渐变成一个标准的流程,云管理员们能够利用Sqoop的并行批量数据加载能力来简化这一流程,降低编写
2017-02-28 10:37:47 293
转载 Hadoop学习笔记—17.Hive框架学习
一、Hive:一个牛逼的数据仓库1.1 神马是Hive? Hive 是建立在 Hadoop 基础上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 QL ,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 Map
2017-02-28 10:36:54 317
转载 Hadoop学习笔记—16.Pig框架学习
一、关于Pig:别以为猪不能干活1.1 Pig的简介 Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口。Compare:相比Java的MapReduce API,Pig为大型数
2017-02-28 10:35:58 499
转载 Hadoop学习笔记—15.HBase框架学习(基础实践篇)
一、HBase的安装配置1.1 伪分布模式安装 伪分布模式安装即在一台计算机上部署HBase的各个角色,HMaster、HRegionServer以及ZooKeeper都在一台计算机上来模拟。 首先,准备好HBase的安装包,我这里使用的是HBase-0.94.7的版本,已经上传至百度网盘之中(URL:http://pan.baidu.com/s/1pJ3HTY7) (1)通
2017-02-28 10:35:13 296
转载 Hadoop学习笔记—15.HBase框架学习(基础知识篇)
HBase是Apache Hadoop的数据库,能够对大型数据提供随机、实时的读写访问。HBase的目标是存储并处理大型的数据。HBase是一个开源的,分布式的,多版本的,面向列的存储模型,它存储的是松散型数据。一、HBase:BigTable的开源实现1.1 HBase出现的背景 (1)随着数据规模越来越大,大量业务场景开始考虑数据存储水平扩展,使得存储服务可以增加/删除,
2017-02-28 10:34:25 649
转载 Hadoop学习笔记—14.ZooKeeper环境搭建
从字面上来看,ZooKeeper表示动物园管理员,这是一个十分奇妙的名字,我们又想起了Hadoop生态系统中,许多项目的Logo都采用了动物,比如Hadoop采用了大象的形象,所以我们可以猜测ZooKeeper就是对这些动物进行一些管理工作的。一、ZooKeeper基础介绍1.1 动物园也要保障安全 zookeeper是hadoop下面的一个子项目,用来协调跟hadoop相关
2017-02-28 10:33:38 375
转载 Hadoop学习笔记—13.分布式集群中节点的动态添加与下架
开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群。现在,我们来了解一下在一个Hadoop分布式集群中,如何动态(不关机且正在运行的情况下)地添加一个Hadoop节点与下架一个Hadoop节点。一、实验环境结构 本次试验,我们构建的集群是一个主节点,三个从节点的结构,其中三个从节点的性能配置各不相同,这里我们主要在虚拟机中的内存设置这三个从节点分别为:
2017-02-28 10:32:38 463
转载 Hadoop学习笔记—12.MapReduce中的常见算法
一、MapReduce中有哪些常见算法 (1)经典之王:单词计数 这个是MapReduce的经典案例,经典的不能再经典了! (2)数据去重 "数据去重"主要是为了掌握和利用并行化思想来对数据进行有意义的筛选。统计大数据集上的数据种类个数、从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据去重。 (3)排序:按某个Key进行升序或降序排列
2017-02-28 10:31:32 372
转载 Hadoop学习笔记—11.MapReduce中的排序和分组
一、写在之前的1.1 回顾Map阶段四大步骤 首先,我们回顾一下在MapReduce中,排序和分组在哪里被执行: 从上图中可以清楚地看出,在Step1.4也就是第四步中,需要对不同分区中的数据进行排序和分组,默认情况下,是按照key进行排序和分组。1.2 实验场景数据文件 在一些特定的数据文件中,不一定都是类似于WordCount单次统计这种规范的数据,比如下面这类数
2017-02-28 10:29:51 255
转载 Hadoop学习笔记—10.Shuffle过程那点事儿
一、回顾Reduce阶段三大步骤 在第四篇博文《初识MapReduce》中,我们认识了MapReduce的八大步骤,其中在Reduce阶段总共三个步骤,如下图所示: 其中,Step2.1就是一个Shuffle操作,它针对多个map任务的输出按照不同的分区(Partition)通过网络复制到不同的reduce任务节点上,这个过程就称作为Shuffle。PS:Hadoop的sh
2017-02-28 10:29:05 315
转载 Hadoop学习笔记—9.Partitioner与自定义Partitioner
一、初步探索Partitioner1.1 再次回顾Map阶段五大步骤 在第四篇博文《初识MapReduce》中,我们认识了MapReduce的八大步凑,其中在Map阶段总共五个步骤,如下图所示: 其中,step1.3就是一个分区操作。通过前面的学习我们知道Mapper最终处理的键值对,是需要送到Reducer去合并的,合并的时候,有相同key的键/值对会送到同一个Reducer
2017-02-28 10:28:17 272
转载 Hadoop学习笔记—8.Combiner与自定义Combiner
一、Combiner的出现背景1.1 回顾Map阶段五大步骤 在第四篇博文《初识MapReduce》中,我们认识了MapReduce的八大步凑,其中在Map阶段总共五个步骤,如下图所示: 其中,step1.5是一个可选步骤,它就是我们今天需要了解的 Map规约 阶段。现在,我们再来看看前一篇博文《计数器与自定义计数器》中的第一张关于计数器的图: 我们可以发现,其中有两
2017-02-28 10:27:30 3603
转载 Hadoop学习笔记—7.计数器与自定义计数器
一、Hadoop中的计数器计数器:计数器是用来记录job的执行进度和状态的。它的作用可以理解为日志。我们通常可以在程序的某个位置插入计数器,用来记录数据或者进度的变化情况,它比日志更便利进行分析。 例如,我们有一个文件,其中包含如下内容:hello youhello me 它被WordCount程序执行后显示如下日志: 在上图所示中,计数器有19个,
2017-02-28 10:25:54 369
转载 Hadoop学习笔记—6.Hadoop Eclipse插件的使用
开篇:Hadoop是一个强大的并行软件开发框架,它可以让任务在分布式集群上并行处理,从而提高执行效率。但是,它也有一些缺点,如编码、调试Hadoop程序的难度较大,这样的缺点直接导致开发人员入门门槛高,开发难度大。因此,Hadop的开发者为了降低Hadoop的难度,开发出了Hadoop Eclipse插件,它可以直接嵌入到Hadoop开发环境中,从而实现了开发环境的图形界面化,降低了编程的难度
2017-02-28 10:24:59 237
转载 Hadoop学习笔记—5.自定义类型处理手机上网日志
一、测试数据:手机上网日志1.1 关于这个日志 假设我们如下一个日志文件,这个文件的内容是来自某个电信运营商的手机上网日志,文件的内容已经经过了优化,格式比较规整,便于学习研究。 该文件的内容如下(这里我只截取了三行):1363157993044 18211575961 94-71-AC-CD-E6-18:CMCC-EASY 120.196.100.99 iface.qiy
2017-02-28 10:24:05 303
转载 Hadoop学习笔记—4.初识MapReduce
一、神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个编程模型,用以进行大数据量的计算。对于大数据量的计算,通常采用的处理手法就是并行计算。但对许多开发者来说,自己完完全全实现一个并行计算程序难度太大,而MapReduce就是一种简化并行计算的编程模型,它使得那些没有多有多少并行计算经验的开发人员也可以开发并行应用程序。这也就是MapReduc
2017-02-28 10:20:09 3914
转载 Hadoop学习笔记—3.Hadoop RPC机制的使用
Hadoop学习笔记—3.Hadoop RPC机制的使用一、RPC基础概念1.1 RPC的基础概念 RPC,即Remote Procdure Call,中文名:远程过程调用; (1)它允许一台计算机程序远程调用另外一台计算机的子程序,而不用去关心底层的网络通信细节,对我们来说是透明的。因此,它经常用于分布式网络通信中。RPC协议假定某些传输协议的存在,如TC
2017-02-28 10:16:29 512
转载 C++全局和局部随机洗牌算法
C++洗牌算法标签: 面试题算法c++数据结构algorithm2015-04-11 12:22 1100人阅读 评论(1)收藏举报本文章已收录于:分类: 算法(25) 作者同类文章X•红黑树•二分搜索经典题目•位图的经典题目•Bitmap更多版权声明:本文为博主
2017-02-27 22:29:22 423
原创 数据库中,什么是事务,可以简述,事务机制如何实现的吗
数据库事务是指作为单个逻辑单元执行的一系列操作,要么完全执行,玩么完全地不执行。事务的四个特性(ACID):原子性、一致性、隔离性和持久性。 事务实现原理(网友答案,百度不好找):事务开始之后,事务所有的操作都陆续写到事务日志中。写到日志中的操作,一般有两种。一种是针对数据的操作,一种是针对任务的操作。针对数据的操作,例如插入、删除和修改,这是典型的事务操作,这些操作的对象是大量的
2017-02-27 16:44:18 8426
原创 图解TCP的三次握手连接和四次握手断开连接
TCP三次握手建立连接过程: (1)第一次握手:建立连接时,客户端A发送SYN包到服务器,并进入SYN_SEND状态,等待服务器B确认。 (2)第二次握手:服务器B收到SYN包,必须确认客户A的SYN,同时自己也发送一个SYN包,此时服务器B进入SYN_RECV状态。 (3)第三次握手:客户端A收到服务器B的SYN和ACK包,向服务器B发送确认包ACK.此包发送完
2017-02-27 16:40:21 395
原创 ConcurrentHashMap是如何实现多线程同步的?
分析Hashtable就知道,synchronized是针对整张Hash表的,即每次锁住整张表让线程独占;ConcurrentHashMap允许多个线程修改操作并发进行,其关键在于使用了锁分离技术。它使用了多个锁来控制对hash表的不同部分进行的修改。ConcurrentHashMap 内部使用段(Segment)来表示这些不用的部分,每个段其实就是一个小的hashtable,它们有自己的锁。只要多
2017-02-27 16:34:40 2944
原创 Node.js Cluster多进程负载测试
服务器端: 脚本文件: var cluster = require(‘cluster’); var http = require(‘http’); var numCPUs = require(‘os’).cpus().length; // 获取CPU核数// 主进程一般只在第一次运行,然后常驻内存,监控个子进程,共享资源的目的 if (cluster.isMaster) { //
2015-09-23 15:30:15 1097
原创 Nodejs+Express4.x+mongodb简要介绍
写在前面的话 一直有个想法,就是能够在CSDN上发表一个系列的博客。之前一直没有一个完整的知识切入点,现在,通过初步了解NodeJs,顿时决定就是它了。初步打算是”NodeJs入门之路“分三部分:工具介绍、平台搭建、功能实现。希望通过这三期博客,能够起到巩固自己所学的作用,若是,对你有丝毫益处,就谢天谢地了。一NodeJs NodeJS: Node.js® is a JavaScript
2015-09-08 15:50:14 359
三星Tizen编程了解
2014-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人