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…
目录 简单介绍 概述 架构 安装部署 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包…
目录 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…
Hive调优手段 最常用的调优手段 Fetch抓取 MapJoin 分区裁剪 列裁剪 控制map个数以及reduce个数 JVM重用 数据压缩 Fetch的抓取 出现原因 Hive中对某些情况的查询不必使用MapReduce计算.在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台.(原则就是能不用MapReduce就不用MapReduce) 比如以下这几种情况: SELECT * FROM score; SELECT s_score FROM s…
目录 数据仓库设计 维度建模概述 维度建模的三种模式 本项目中数据仓库的设计 ETL开发 创建ODS层数据表 导入ODS层数据 生成ODS层明细宽表 统计分析开发 流量分析 受访分析 访客visit分析 关键路径转化率分析(漏斗模型) 级联求和 流量日志分析网站整体架构模块的整体步骤为下图 关于数据采集模块和数据预处理的开发在[Hadoop离线基础总结]网站流量日志数据分析系统末尾已经写了,想了解可以点击查看. 数据仓库设计 维度建模概述 维度建模 (dimensional modeling)…
目录 常用命令 常用公用参数 公用参数:数据库连接 公用参数:import 公用参数:export 公用参数:hive 常用命令&参数 从关系表导入--import 导出到关系表--export codegen create-hive-table job merge 配合[Hadoop离线基础总结]Sqoop数据迁移一起阅读更佳 常用命令 常用公用参数 公用参数:数据库连接 公用参数:import 公用参数:export 公用参数:hive 常用命令&参数 从关系表导入--import 导…
目录 Azkaban概述 工作流调度系统的作用 工作流调度系统的实现 常见工作流调度工具对比 Azkaban简单介绍 安装部署 Azkaban的编译 azkaban单服务模式安装与使用 azkaban两个服务模式安装与使用 使用 多job工作流flow HDFS操作任务 MAPREDUCE任务 HIVE脚本任务 定时任务 Azkaban概述 工作流调度系统的作用 一个完整的数据分析系统通常都是由大量任务单元组成:shell脚本程序,java程序,mapreduce程序.hive脚本等. 各任务单…
MapReduce增强(下) MapTask运行机制详解以及MapTask的并行度 MapTask运行流程 第一步:读取数据组件InputFormat(默认TextInputFormat)会通过getSplits方法,对输入目录中的文件(输入目录也就是TextInputFormat的Path)进行逻辑切片得到splits.     ps. getSplits方法属于FileInputFormat,该方法返回的就是一个文件有多少个切片,一个切片对应一个maptask的任务.        切片大小…
MapReduce增强 MapReduce的分区与reduceTask的数量 概述 MapReduce当中的分区:物以类聚,人以群分.相同key的数据,去往同一个reduce. ReduceTask的数量默认为一个,可以自己设定数量  job.setNumRudeceTasks(3) 分区决定了我们的数据该去往哪一个ReduceTask里面去 用代码实现 注意:分区的案例,只能打成jar包发布到集群上面去运行,本地模式已经不能正常运行了 定义一个map类 package cn.itcast.mr…
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 社交粉丝数据分析 求出哪些人两两之间有共同好友,及他俩的共同好友都有谁? 用户及好友数据 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)…
目录 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…
MapReduce参数优化 资源相关参数 这些参数都需要在mapred-site.xml中配置 mapreduce.map.memory.mb 一个 MapTask 可使用的资源上限(单位:MB),默认为1024 如果 MapTask 实际使用的资源量超过该值,则会被强制杀死. mapreduce.reduce.memory.mb 一个 ReduceTask 可使用的资源上限(单位:MB),默认为1024 如果 ReduceTask 实际使用的资源量超过该值,则会被强制杀死. mapred.ch…
目录 点击流数据模型 概述 点击流模型 网站流量分析 网站流量模型分析 网站流量来源 网站流量多维度细分 网站内容及导航分析 网站转化及漏斗分析 流量常见分析角度和指标分类 指标概述 指标分类 分析角度 流量日志分析网站整体架构模块 步骤 模块开发之数据采集 模块开发之数据预处理 点击流模型PageViews表 点击流模型visit信息表 点击流数据模型 概述 点击流(Click Stream)是指用户在网站上持续访问的轨迹.点击流数据(Click Stream Data)代表了用户浏览网站的整…
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…
目录 简单介绍 Hadoop HA 概述 集群搭建规划 集群搭建 第一步:停止服务 第二步:启动所有节点的ZooKeeper 第三步:更改配置文件 第四步:启动服务 简单介绍 Hadoop HA 概述 HA(High Available) -- 高可用,是保证业务连续性的有效解决方案.一般有两个或两个以上的节点,分为活动节点(Active)及备用节点(Standby).通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点.当活动节点出现问题,导致正在运行的业务(任务)不能正…
目录 需求 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…
目录 Sqoop介绍 概述 版本 Sqoop安装及使用 Sqoop安装 Sqoop数据导入 导入关系表到Hive已有表中 导入关系表到Hive(自动创建Hive表) 将关系表子集导入到HDFS中 sql语句查找导入到HDFS 两种增量导入方式 Sqoop的数据导出 Sqoop介绍 概述 Sqoop是Apache开源提供过的一款Hadoop和关系数据库服务器之间传送数据的工具.从关系数据库到Hadoop的数据库存储系统(HDFS,HIVE,HBASE等)称为导入,从Hadoop的数据库存储系统到关…
日志采集框架Flume Flume介绍 概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.它可以采集文件,socket数据包.文件.文件夹.kafka等各种形式源数据,又可以将采集到的数据 sink(下沉) 到HDFS.hbase.hive.kafka等众多外部存储系统中,因此,flume可以适用于大部分的日常数据采集场景 运行机制 Flume分布式系统中最核心的角色是Agent,每一个Agent相当于一个数据传递员,其内部有三个组件: Source:数据采集组件,对…
Apache Hadoop的三种运行环境介绍及standAlone环境搭建 三种运行环境 standAlone环境 单机版的hadoop运行环境 伪分布式环境 主节点都在一台机器上,从节点分开到其他机器上(可以借助三台机器来实现) 完全分布式环境 主节点全部分散到不同机器上(NameNode Active,NameNode StandBy,ResourceManager 主节点,ResourceManager 备份节点) standAlone环境搭建 第一步:下载apache hadoop并上传…
Hadoop的架构模型 1.x的版本架构模型介绍 架构图 HDFS分布式文件存储系统(典型的主从架构) NameNode:集群当中的主节点,主要用于维护集群当中的元数据信息,以及接受用户的请求,处理用户的请求 SecondaryNameNode:主要是辅助NameNode管理元数据信息 DataNode:集群当中的从节点,主要用于存储数据 什么是元数据? 元数据就是描述数据的数据.简单的来说,一个文件的存放位置.文件名称.打开方式.创建人.修改时间.文件大小.文件权限等这些都是描述性的数据,都可…
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):数据分析主要是分析过去已经发生的数据,…
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详细介绍 分布式文件系统设计思路 概述 只有一台机器时的文件查找:hello.txt /export/servers/hello.txt 如果有多台机器时的文件查找:hello.txt node02 /export/servers/hello.txt   为了解决数据丢失的问题,引入副本机制,保证数据不会丢失   如果对文件进行切块存储,那么元数据信息又要继续变化   blk元数据信息的记录    blk_00001 node01 node03 /export/servers/blk_0…
HDFS入门介绍 概述 HDFS全称为Hadoop Distribute File System,也就是Hadoop分布式文件系统,是Hadoop的核心组件之一. 分布式文件系统是横跨在多台计算机上的存储系统,主要解决的就是大数据存储的问题 特性 master/slave架构 HDFS集群一般是由一个 NameNode 和一定数目的 DataNode 组成.NameNode 是 HDFS 集群主节点,DataNode 是 HDFS 集群从节点. 分块存储 分块存储存在的原因: 假如有100台机器…
CDH版本Hadoop 伪分布式环境搭建 服务规划 步骤 第一步:上传压缩包并解压 cd /export/softwares/ tar -zxvf hadoop-2.6.0-cdh5.14.0.tar.gz -C ../servers/ 第二步:查看Hadoop支持的压缩方式以及本地库 cd /export/servers/hadoop-2.6.0-cdh5.14.0 bin/hadoop checknative 在第一台机执行,如果出现openssl为false,执行 yum -y insta…