目录 数据仓库设计 维度建模概述 维度建模的三种模式 本项目中数据仓库的设计 ETL开发 创建ODS层数据表 导入ODS层数据 生成ODS层明细宽表 统计分析开发 流量分析 受访分析 访客visit分析 关键路径转化率分析(漏斗模型) 级联求和 流量日志分析网站整体架构模块的整体步骤为下图 关于数据采集模块和数据预处理的开发在[Hadoop离线基础总结]网站流量日志数据分析系统末尾已经写了,想了解可以点击查看. 数据仓库设计 维度建模概述 维度建模 (dimensional modeling)…
目录 简单介绍 概述 架构 安装部署 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包…
目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安装部署 安装环境准备 下载impala的所有依赖包 挂载磁盘 上传压缩包并解压 制作本地yum源 开始安装impala 所有节点配置impala impala的简单介绍 概述 有两个关于impala介绍的网址: https://docs.cloudera.com/documentation/ente…
目录 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…
目录 常用命令 常用公用参数 公用参数:数据库连接 公用参数: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…
Hadoop的架构模型 1.x的版本架构模型介绍 架构图 HDFS分布式文件存储系统(典型的主从架构) NameNode:集群当中的主节点,主要用于维护集群当中的元数据信息,以及接受用户的请求,处理用户的请求 SecondaryNameNode:主要是辅助NameNode管理元数据信息 DataNode:集群当中的从节点,主要用于存储数据 什么是元数据? 元数据就是描述数据的数据.简单的来说,一个文件的存放位置.文件名称.打开方式.创建人.修改时间.文件大小.文件权限等这些都是描述性的数据,都可…
目录 简单介绍 Hadoop HA 概述 集群搭建规划 集群搭建 第一步:停止服务 第二步:启动所有节点的ZooKeeper 第三步:更改配置文件 第四步:启动服务 简单介绍 Hadoop HA 概述 HA(High Available) -- 高可用,是保证业务连续性的有效解决方案.一般有两个或两个以上的节点,分为活动节点(Active)及备用节点(Standby).通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点.当活动节点出现问题,导致正在运行的业务(任务)不能正…
关键路径转化 需求 在一条指定的业务流程中,各个步骤的完成人数及相对上一个步骤的百分比 模型设计 定义好业务流程中的页面标识 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…
目录 点击流数据模型 概述 点击流模型 网站流量分析 网站流量模型分析 网站流量来源 网站流量多维度细分 网站内容及导航分析 网站转化及漏斗分析 流量常见分析角度和指标分类 指标概述 指标分类 分析角度 流量日志分析网站整体架构模块 步骤 模块开发之数据采集 模块开发之数据预处理 点击流模型PageViews表 点击流模型visit信息表 点击流数据模型 概述 点击流(Click Stream)是指用户在网站上持续访问的轨迹.点击流数据(Click Stream Data)代表了用户浏览网站的整…
前序: 当你把你知道的东西,写下来,让人看明白是一种境界:当你能把自己写下来的东西给人讲明白,又是另一种境界.在这个过程中,我们都需要历练. 基于hadoop集群下海量离线数据存储和挖掘分析架构: 架构图采用主流的Hadoop+Hive+Hbase集群架构平台.最简单的利用,包含了基本的基于hadoop集群下的日志分析过程.但此架构图,又不仅局限于简单的基于日志数据处理.我们可以把它定位到,把基于传统数据挖掘技术,移植到Hadoop集群平台上,提高计算效率,节省时间,降低开发成本.说到这里就必须…
MapReduce增强(下) MapTask运行机制详解以及MapTask的并行度 MapTask运行流程 第一步:读取数据组件InputFormat(默认TextInputFormat)会通过getSplits方法,对输入目录中的文件(输入目录也就是TextInputFormat的Path)进行逻辑切片得到splits.     ps. getSplits方法属于FileInputFormat,该方法返回的就是一个文件有多少个切片,一个切片对应一个maptask的任务.        切片大小…
数据仓库和Hive的基本概念 数据仓库 概述 数据仓库英文全称为 Data Warehouse,一般简称为DW.主要目的是构建面向分析的集成化数据环境,主要职责是对仓库中的数据进行分析,支持我们做决策. 主要特征 面向主题(Subject-Oriented):数据分析有一定的范围,需要选取一定的主题进行分析. 集成性(Integrated):集成各个其他方面关联的数据,比如分析订单购买人的情况,就涉及到用户信息的数据. 非易失性(Non-Volatile):数据分析主要是分析过去已经发生的数据,…
MapReduce增强 MapReduce的分区与reduceTask的数量 概述 MapReduce当中的分区:物以类聚,人以群分.相同key的数据,去往同一个reduce. ReduceTask的数量默认为一个,可以自己设定数量  job.setNumRudeceTasks(3) 分区决定了我们的数据该去往哪一个ReduceTask里面去 用代码实现 注意:分区的案例,只能打成jar包发布到集群上面去运行,本地模式已经不能正常运行了 定义一个map类 package cn.itcast.mr…
MapReduce入门 Mapreduce思想 概述 MapReduce的思想核心是分而治之,适用于大量复杂的任务处理场景(大规模数据处理场景). 最主要的特点就是把一个大的问题,划分成很多小的子问题,并且每个小的子问题的求取思路与我们大问题的求取思路一样. 最主要有两个阶段:一个map阶段,负责拆分:一个是reduce阶段,负责聚合. 思想模型 一个文件切块(Split)对应一个mapTask mapreduce没有block的概念,默认一个切块(Split)对应block块的大小(128M)…
目录 Sqoop介绍 概述 版本 Sqoop安装及使用 Sqoop安装 Sqoop数据导入 导入关系表到Hive已有表中 导入关系表到Hive(自动创建Hive表) 将关系表子集导入到HDFS中 sql语句查找导入到HDFS 两种增量导入方式 Sqoop的数据导出 Sqoop介绍 概述 Sqoop是Apache开源提供过的一款Hadoop和关系数据库服务器之间传送数据的工具.从关系数据库到Hadoop的数据库存储系统(HDFS,HIVE,HBASE等)称为导入,从Hadoop的数据库存储系统到关…
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…
Yarn集群的资源调度 介绍 概述 Yarn是 Hadoop 2.x 引入的新的资源管理系统模块,主要用于管理集群当中的资源(主要是服务器的各种硬件资源,比如内存.CPU等),它不光管理硬件资源,还管理运行的一些任务信息等. Yarn调度资源可以分为两个层级 一级管理调度:管理计算机的资源.运行job任务的生命周期 二级管理调度:任务的计算模型(maptask,reducetask的代码).多样化的计算模型(spark,storm) yarn集群当中各个组件的作用 ResourceManager…
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…
HDFS的API操作 创建maven工程并导入jar包 注意 由于cdh版本的所有的软件涉及版权的问题,所以并没有将所有的jar包托管到maven仓库当中去,而是托管在了CDH自己的服务器上面,所以我们默认去maven的仓库下载不到,需要自己手动的添加repository去CDH仓库进行下载. 要用CDH的jar包,要先添加一个repository:https://www.cloudera.com/documentation/enterprise/release-notes/topics/cdh…
HDFS入门介绍 概述 HDFS全称为Hadoop Distribute File System,也就是Hadoop分布式文件系统,是Hadoop的核心组件之一. 分布式文件系统是横跨在多台计算机上的存储系统,主要解决的就是大数据存储的问题 特性 master/slave架构 HDFS集群一般是由一个 NameNode 和一定数目的 DataNode 组成.NameNode 是 HDFS 集群主节点,DataNode 是 HDFS 集群从节点. 分块存储 分块存储存在的原因: 假如有100台机器…
目录 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</…
目录 需求 1.准备工作目录 2.准备调度文件 3.开发调度的配置文件 4.上传资源文件夹到hdfs对应路径 5.执行调度任务 需求 执行shell脚本 → 执行MR程序 → 执行hive程序 1.准备工作目录 cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works mkdir -p sereval-actions 2.准备调度文件 cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works cp h…
目录 1.准备MR执行的数据 2.执行官方测试案例 3.准备我们调度的资源 4.修改配置文件 5.上传调度任务到hdfs对应目录 6.执行调度任务 1.准备MR执行的数据 MR的程序可以是自己写的,也可以是hadoop工程自带的.这里选用hadoop工程自带的MR程序来运行wordcount的示例 准备以下数据上传到HDFS的/oozie/input路径下去 hdfs dfs -mkdir -p /oozie/input vim wordcount.txt hello world hadoop…
目录 1.解压官方提供的调度案例 2.创建工作目录 3.拷贝任务模板到工作目录当中去 4.随意准备一个shell脚本 5.修改模板下的配置文件 6.上传调度任务到hdfs上面去 7.执行调度任务 1.解压官方提供的调度案例 cd /export/servers/oozie-4.1.0-cdh5.14.0 tar -zxf oozie-examples.tar.gz 2.创建工作目录 在任意地方创建一个oozie的工作目录,以后调度任务的配置文件全部放到oozie的工作目录当中去 cd /expo…
Hue与Mysql集成 1.修改hue.ini配置文件 这里要去掉#,打开mysql注释,大概在1547行 [[[mysql]]] nice_name="My SQL DB" engine=mysql host=node03.hadoop.com port=3306 user=root password=123456 2.启动hue进程,查看Hive是否与Mysql集成成功 cd /export/servers/hue-3.9.0-cdh5.14.0/ build/env/bin/su…