一、event事件分析

叶子节点只计算一次

父节点的触发次数由子节点的数量节点

事件流:是由业务人员定义的一系列的具有前后顺序的事件构成的用户操作行为,至少包括两个事件以上。

目标:以事件流为单位,分析事件流中各个事件的触发次数

事件流特征:

1.事件流中每一个事件都会存在一个来源/父事件

计算方式:

1. 不考虑事件流的关系,直接计算各个事件的触发次数(wordcount)

2. 考虑事件流,计算事件流中的各个事件的触发次数

区分

1.uuid,不同访客的事件流不在一起处理:

不同人产生的事件数据放到不同的地方(代码逻辑中)处理(在考虑会话的情况下,不需要考虑)

2. 会话id:不同会话的事件流不在一起处理:

不同会话产生的事件数据放到不同的地方(代码逻辑中)处理

3. 数据流中各个事件的前后顺序

4. 时间维度、平台维度

MapReduce:

Input: 从hbase中读取event事件的数据

Mapper:

前提要求:维度数据在数据库总已存在,在收集数据之前,就已经确定好事件的触发顺序以及规则。

功能:需要从mysql中读取事件维度数据,补全数据(补全数据流id、补全数据的触发系列)

Reducer:

功能:需要处理一个事件流中的所有事件的触发次数

维度:

  时间维度

  平台维度

问题:

1. 数据量很大

2. 处理的数据比较杂:需要处理不同人的、不同会话的

input:二次排序后的数据

功能:通过森林结构计算事件流中的事件触发次数

output:

《OD学hadoop》20160910某旅游网项目实战的更多相关文章

  1. 《OD学hadoop》20160903某旅游网项目实战

    一.大数据的落地点 1.数据出售 数据商城:以卖数据为公司的核心业务 2. 数据分析 百度统计 友盟 GA IBM analysis 3.搜索引擎 4. 推荐系统 mahout 百分比 5.精准营销 ...

  2. 《OD学hadoop》20160904某旅游网项目实战

    一.ETL操作 抽取数据 日志格式: 分割符号:^A IP地址 服务器时间 二.Java工程 1. 创建项目 copy代码及配置文件 2. 改配置 core-site.xml hbase-site.x ...

  3. 《OD学hadoop》第三周0710

    一.分布式集群安装1. Hadoop模式本地模式.伪分布模式.集群模式datanode 使用的机器上的磁盘,存储空间nodemanager使用的机器上的内存和CPU(计算和分析数据) 2. 搭建环境准 ...

  4. 《OD学hadoop》第二周0702

    大数据离线计算hadoop2.x 三周(6天) markdown文本剪辑器 罗振宇--跨年演讲,时间的朋友 http://tech.163.com/16/0101/11/BC87H8DF000915B ...

  5. 《OD学hadoop》第一周0625

    一.实用网站 1. linux内核版本 www.kernel.org 2. 查看网站服务器使用的系统  www.netcraft.com 二.推荐书籍 1. <Hadoop权威指南> 1- ...

  6. 《OD学hadoop》第四周0716

    7.16 一.回顾 二.HDFS Federation(联盟) Hadoop 2.2.0发布新特性 很多的大公司都在使用:BAT HDFS Federation + HDFS HA架构 互相隔开,但是 ...

  7. 《OD学hadoop》第三周0709

    一.MapReduce编程模型1. 中心思想: 分而治之2. map(映射)3. 分布式计算模型,处理海量数据4. 一个简单的MR程序需要制定map().reduce().input.output5. ...

  8. 《OD学hadoop》第二周0703

    hdfs可视化界面: http://beifeng-hadoop-01:50070/dfshealth.html#tab-overview yarn可视化界面: http://beifeng-hado ...

  9. 《OD学hadoop》Hadoop前置

    一.Hadoop 前置课程 1. Linux系统,基本命令 2. Java语言,JavaSE相关知识 3. MySQL基本的DML和DDL SQL on Hadoop

随机推荐

  1. 不得不存!UI设计新手不可错过的7条实用法则

    http://www.gameres.com/316761.html 本文编译自 Medium,作者是一位UX(User Experience, 用户体验)设计师,他通过自己学习UI设计的过程,总结出 ...

  2. spring-springMVC-MyBatis整合配置文件

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="htt ...

  3. L104

    marsh:It was like my own marsh country, flat and monotonous.The government will take more measures t ...

  4. linux命令学习笔记(20):find命令之exec

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作, 这个时候exec的作用就显现出来了. exec解释: -exec 参数后面跟的是command ...

  5. 实现两个窗口通信方法-postMessage

    此方案可解决跨域而且跨Iframe,而且http和https之间的交互 首先来看一下基本的语法 otherWindow.postMessage(message, targetOrigin, [tran ...

  6. Oracle修改字段名、字段数据类型

    语句:alter table tableName rename column oldCName to newCName; -- 修改字段名alter table tableName modify (c ...

  7. Gym 101142G : Gangsters in Central City(DFS序+LCA+set)

    题意:现在有一棵树,1号节点是水源,叶子节点是村庄,现在有些怪兽会占领一些村庄(即只占领叶子节点),现在要割去一些边,使得怪兽到不了水源.给出怪兽占领和离开的情况,现在要割每次回答最小的割,使得怪兽不 ...

  8. 搞事情 -- python之线程

    简介 操作系统线程理论 线程概念的引入背景 线程的特点 进程和线程的关系 使用线程的实际场景 用户级线程和内核级线程(了解) 线程和python 理论知识 线程的创建Threading.Thread类 ...

  9. BZOJ1455:罗马游戏

    题目传送门:https://lydsy.com/JudgeOnline/problem.php?id=1455 浅谈左偏树:https://www.cnblogs.com/AKMer/p/102466 ...

  10. JAVA中重写equals()方法为什么要重写hashcode()方法说明

    重写hashCode()时最重要的原因就是:无论何时,对同一个对象调用hashCode()都应该生成同样的值.如果在将一个对象用put()方法添加进HashMap时产生一个hashCode()值,而用 ...