目录 数据仓库设计 维度建模概述 维度建模的三种模式 本项目中数据仓库的设计 ETL开发 创建ODS层数据表 导入ODS层数据 生成ODS层明细宽表 统计分析开发 流量分析 受访分析 访客visit分析 关键路径转化率分析(漏斗模型) 级联求和 流量日志分析网站整体架构模块的整体步骤为下图 关于数据采集模块和数据预处理的开发在[Hadoop离线基础总结]网站流量日志数据分析系统末尾已经写了,想了解可以点击查看. 数据仓库设计 维度建模概述 维度建模 (dimensional modeling)…
日志采集框架Flume Flume介绍 概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.它可以采集文件,socket数据包.文件.文件夹.kafka等各种形式源数据,又可以将采集到的数据 sink(下沉) 到HDFS.hbase.hive.kafka等众多外部存储系统中,因此,flume可以适用于大部分的日常数据采集场景 运行机制 Flume分布式系统中最核心的角色是Agent,每一个Agent相当于一个数据传递员,其内部有三个组件: Source:数据采集组件,对…
目录 点击流数据模型 概述 点击流模型 网站流量分析 网站流量模型分析 网站流量来源 网站流量多维度细分 网站内容及导航分析 网站转化及漏斗分析 流量常见分析角度和指标分类 指标概述 指标分类 分析角度 流量日志分析网站整体架构模块 步骤 模块开发之数据采集 模块开发之数据预处理 点击流模型PageViews表 点击流模型visit信息表 点击流数据模型 概述 点击流(Click Stream)是指用户在网站上持续访问的轨迹.点击流数据(Click Stream Data)代表了用户浏览网站的整…
(3.14)mysql基础深入——mysql 日志分析工具之pt-querty-digest 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢查询日志分析工具 [2]mysqlbinlog:二进制日志分析工具 [3]myprofi:对于只想看sql语句及执行次数的用户来说,比较推荐. [4]mysql-explain-slow-log:德国人写的一个Perl脚本,功能上有点瑕疵.不建议使用. [5]mysql-log-filter:生成简…
(3.13)mysql基础深入——mysql 日志分析工具之mysqlsla 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢查询日志分析工具 [2]mysqlbinlog:二进制日志分析工具 [3]myprofi:对于只想看sql语句及执行次数的用户来说,比较推荐. [4]mysql-explain-slow-log:德国人写的一个Perl脚本,功能上有点瑕疵.不建议使用. [5]mysql-log-filter:生成简介报表日志分析,…
目录 Hue的简单介绍 概述 核心功能 安装部署 下载Hue的压缩包并上传到linux解压 编译安装启动 启动Hue进程 hue与其他框架的集成 Hue与Hadoop集成 Hue与Hive集成 Hue与Impala集成 Hue与Mysql集成 Hue与oozie集成 Hue的简单介绍 概述 CDH Hue官方帮助文档:http://archive.cloudera.com/cdh5/cdh/5/hue-3.9.0-cdh5.14.0/user-guide/introducing.html Hue…
目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安装部署 安装环境准备 下载impala的所有依赖包 挂载磁盘 上传压缩包并解压 制作本地yum源 开始安装impala 所有节点配置impala impala的简单介绍 概述 有两个关于impala介绍的网址: https://docs.cloudera.com/documentation/ente…
目录 简单介绍 概述 架构 安装部署 1.修改core-site.xml 2.上传oozie的安装包并解压 3.解压hadooplibs到与oozie平行的目录 4.创建libext目录,并拷贝依赖包到libext目录 5.拷贝mysql的驱动包到libext目录下 6.上传ext-2.2.zip压缩包到libext目录下 7.修改oozie-site.xml 8.创建mysql数据库 9.上传oozie依赖的jar包到hdfs上面去 10.创建oozie的数据库表 11.打包项目,生成war包…
目录 常用命令 常用公用参数 公用参数:数据库连接 公用参数:import 公用参数:export 公用参数:hive 常用命令&参数 从关系表导入--import 导出到关系表--export codegen create-hive-table job merge 配合[Hadoop离线基础总结]Sqoop数据迁移一起阅读更佳 常用命令 常用公用参数 公用参数:数据库连接 公用参数:import 公用参数:export 公用参数:hive 常用命令&参数 从关系表导入--import 导…
Hive调优手段 最常用的调优手段 Fetch抓取 MapJoin 分区裁剪 列裁剪 控制map个数以及reduce个数 JVM重用 数据压缩 Fetch的抓取 出现原因 Hive中对某些情况的查询不必使用MapReduce计算.在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台.(原则就是能不用MapReduce就不用MapReduce) 比如以下这几种情况: SELECT * FROM score; SELECT s_score FROM s…
转载自:http://blog.fens.me/hadoop-mapreduce-log-kpi/ 今天学习了这一篇博客,写得十分好,照着这篇博客敲了一遍. 发现几个问题, 一是这篇博客中采用的hadoop版本过低,如果在hadoop2.x上面跑的话,可能会出现结果文件没有写入任何数据,为了解决这个问题,我试着去参照官网http://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core…
拜读一个开源框架,最想学到的就是设计的思想和实现的技巧. 废话不多说,jquery这么多年了分析都写烂了,老早以前就拜读过, 不过这几年都是做移动端,一直御用zepto, 最近抽出点时间把jquery又给扫一遍 我也不会照本宣科的翻译源码,结合自己的实际经验一起拜读吧! github上最新是jquery-master,加入了AMD规范了,我就以官方最新2.0.3为准 整体架构 jQuery框架的核心就是从HTML文档中匹配元素并对其执行操作. 例如: $().find().css() $().h…
query这么多年了分析都写烂了,老早以前就拜读过, 不过这几年都是做移动端,一直御用zepto, 最近抽出点时间把jquery又给扫一遍 我也不会照本宣科的翻译源码,结合自己的实际经验一起拜读吧! github上最新是jquery-master,加入了AMD规范了,我就以官方最新2.0.3为准 整体架构 jQuery框架的核心就是从HTML文档中匹配元素并对其执行操作. 例如: $().find().css() $().hide().html('....').hide(). 从上面的写法上至少…
关键路径转化 需求 在一条指定的业务流程中,各个步骤的完成人数及相对上一个步骤的百分比 模型设计 定义好业务流程中的页面标识 Step1. /item Step2. /category Step3. /index Step4. /order CREATE TABLE dw_oute_numbs AS SELECT 'step1' AS step,COUNT(DISTINCT remote_addr) AS numbs FROM ods_click_pageviews WHERE datestr…
MapReduce增强 MapReduce的分区与reduceTask的数量 概述 MapReduce当中的分区:物以类聚,人以群分.相同key的数据,去往同一个reduce. ReduceTask的数量默认为一个,可以自己设定数量  job.setNumRudeceTasks(3) 分区决定了我们的数据该去往哪一个ReduceTask里面去 用代码实现 注意:分区的案例,只能打成jar包发布到集群上面去运行,本地模式已经不能正常运行了 定义一个map类 package cn.itcast.mr…
MapReduce增强(下) MapTask运行机制详解以及MapTask的并行度 MapTask运行流程 第一步:读取数据组件InputFormat(默认TextInputFormat)会通过getSplits方法,对输入目录中的文件(输入目录也就是TextInputFormat的Path)进行逻辑切片得到splits.     ps. getSplits方法属于FileInputFormat,该方法返回的就是一个文件有多少个切片,一个切片对应一个maptask的任务.        切片大小…
1.首先说下EKL到底是什么吧? ELK是Elasticsearch(相当于仓库).Logstash(相当于旷工,挖矿即采集数据).Kibana(将采集的数据展示出来)的简称,这三者是核心套件,但并非全部. Elasticsearch是实时全文搜索和分析引擎,提供搜集.分析.存储数据三大功能:是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统.它构建于Apache Lucene搜索引擎库之上. Logstash是一个用来搜集.分析.过滤日志的工具.它支持几乎任何类型的…
目录 简单介绍 Hadoop HA 概述 集群搭建规划 集群搭建 第一步:停止服务 第二步:启动所有节点的ZooKeeper 第三步:更改配置文件 第四步:启动服务 简单介绍 Hadoop HA 概述 HA(High Available) -- 高可用,是保证业务连续性的有效解决方案.一般有两个或两个以上的节点,分为活动节点(Active)及备用节点(Standby).通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点.当活动节点出现问题,导致正在运行的业务(任务)不能正…
目录 Azkaban概述 工作流调度系统的作用 工作流调度系统的实现 常见工作流调度工具对比 Azkaban简单介绍 安装部署 Azkaban的编译 azkaban单服务模式安装与使用 azkaban两个服务模式安装与使用 使用 多job工作流flow HDFS操作任务 MAPREDUCE任务 HIVE脚本任务 定时任务 Azkaban概述 工作流调度系统的作用 一个完整的数据分析系统通常都是由大量任务单元组成:shell脚本程序,java程序,mapreduce程序.hive脚本等. 各任务单…
linux基础增强 查找命令 grep命令  (print lines matching a pattern) 概述: grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来 格式: grep [option] pattern [file] 使用实例: ps -ef | grep sshd ->查找指定ssh服务进程 ps - report a snapshot of the current processes. 显示当前进程 -ef To see every p…
Hive的基本操作 创建数据库与创建数据库表 创建数据库的相关操作 创建数据库:CREATE TABLE IF NOT EXISTS myhive hive创建表成功后的存放位置由hive-site.xml配置文件中的一个属性指定 <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> 创建数据库并指定hdfs存储位置:CREATE TABLE myhive2…
数据仓库和Hive的基本概念 数据仓库 概述 数据仓库英文全称为 Data Warehouse,一般简称为DW.主要目的是构建面向分析的集成化数据环境,主要职责是对仓库中的数据进行分析,支持我们做决策. 主要特征 面向主题(Subject-Oriented):数据分析有一定的范围,需要选取一定的主题进行分析. 集成性(Integrated):集成各个其他方面关联的数据,比如分析订单购买人的情况,就涉及到用户信息的数据. 非易失性(Non-Volatile):数据分析主要是分析过去已经发生的数据,…
MapReduce案例之自定义groupingComparator 求取Top 1的数据 需求 求出每一个订单中成交金额最大的一笔交易 订单id 商品id 成交金额 Order_0000005 Pdt_01 222.8 Order_0000005 Pdt_05 25.8 Order_0000002 Pdt_03 322.8 Order_0000002 Pdt_04 522.4 Order_0000002 Pdt_05 822.4 Order_0000003 Pdt_01 222.8 代码实现 自…
MapReduce自定义InputFormat和OutputFormat案例 自定义InputFormat 合并小文件 需求 无论hdfs还是mapreduce,存放小文件会占用元数据信息,白白浪费内存,实践中,又难免面临处理大量小文件的场景 优化小文件的三种方式 1.在数据采集的时候,就将小文件或小批数据合成大文件再上传HDFS 2.在业务处理之前,在HDFS上使用mapreduce程序对小文件进行合并 3.在mapreduce处理时,可采用combineInputFormat提高效率 用代码…
MapReduce倒排索引建立 求某些单词在文章中出现多少次 有三个文档的内容,求hello,tom,jerry三个单词在其中各出现多少次 hello tom hello jerry hello tom hello jerry hello jerry tom jerry hello jerry hello tom java代码实现 定义一个Mapper类 package cn.itcast.demo2; import org.apache.hadoop.io.IntWritable; impor…
MapReduce 社交粉丝数据分析 求出哪些人两两之间有共同好友,及他俩的共同好友都有谁? 用户及好友数据 A:B,C,D,F,E,O B:A,C,E,K C:F,A,D,I D:A,E,F,L E:B,C,D,M,L F:A,B,C,D,E,O,M G:A,C,D,E,F H:A,C,D,E,O I:A,O J:B,O K:A,C,D L:D,E,F M:E,F,G O:A,H,I,J java代码 需要两步完成需求 首先先创建第一步的package 在package中定义main.Mapp…
MapReduce入门 Mapreduce思想 概述 MapReduce的思想核心是分而治之,适用于大量复杂的任务处理场景(大规模数据处理场景). 最主要的特点就是把一个大的问题,划分成很多小的子问题,并且每个小的子问题的求取思路与我们大问题的求取思路一样. 最主要有两个阶段:一个map阶段,负责拆分:一个是reduce阶段,负责聚合. 思想模型 一个文件切块(Split)对应一个mapTask mapreduce没有block的概念,默认一个切块(Split)对应block块的大小(128M)…
HDFS的API操作 创建maven工程并导入jar包 注意 由于cdh版本的所有的软件涉及版权的问题,所以并没有将所有的jar包托管到maven仓库当中去,而是托管在了CDH自己的服务器上面,所以我们默认去maven的仓库下载不到,需要自己手动的添加repository去CDH仓库进行下载. 要用CDH的jar包,要先添加一个repository:https://www.cloudera.com/documentation/enterprise/release-notes/topics/cdh…
完全分布式环境搭建 服务规划 适用于工作当中正式环境搭建 安装步骤 第一步:安装包解压 停止之前的Hadoop集群的所有服务,并删除所有机器的Hadoop安装包,然后重新解压Hadoop压缩包 三台机器都执行 rm -rf /export/servers/hadoop-2.7.5/ 在第一台机器解压压缩包 cd /export/softwares tar -zxvf hadoop-2.7.5.tar.gz -C ../servers/ 第二步:配置文件的修改 进入到一下文件夹,并用notepad…
目录 1.停止oozie与hue的进程 2.修改oozie的配置文件 3.修改hue的配置文件 4.启动hue与oozie的进程 5.页面访问hue 1.停止oozie与hue的进程 bin/oozied.sh stop 2.修改oozie的配置文件 (老版本的bug,新版本已经不需要了)这一步我们都不需要做了 修改oozie-site.xml <property> <name>oozie.service.WorkflowAppService.system.libpath</…