1. Hadoop介绍

1.1 什么是Hadoop

  1. 开源的,可靠的,分布式的,可伸缩的
  2. 提供的功能: 利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理

1.2 处理方式

  1. 大众角度

    1. 数据量大,海量
  2. 技术人员角度
    1. 如何存储
    2. 如何计算
  3. 公司决策层

1.3 分布式

  1. 由分布在不同主机上的进程协同在一起,构成整个应用。
  2. 分布式软件系统
    1. 该软件系统会划分成多个子系统或模块,各自运行在不同的机器上,子系统或者模块之间通过网络通信进行写协作,实现最终整体功能

1.4 Hadoop产生背景

  1. HADOOP最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。
  2. 2003年、2004年谷歌发表的两篇论文为该问题提供了可行的解决方案。
    ——分布式文件系统(GFS),可用于处理海量网页的存储
    ——分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题。
    Nutch的开发人员完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP,到2008年1月,HADOOP成为Apache顶级项目,迎来了它的快速发展

1.5 Hadoop现状


1.6 国内外应用案例

  1. HADOOP应用于数据服务基础平台建设

  2. 用于用户画像

  3. 用于网站点击日志数据挖掘

1.7 Hadoop生态圈及组成部分

  1. HDFS:分布式文件系统
  2. MAPREDUCE:分布式运算程序开发框架
  3. HIVE:基于大数据技术(文件系统+运算框架)的SQL数据仓库工具
  4. HBASE:基于HADOOP的分布式海量数据库
  5. ZOOKEEPER:分布式协调服务基础组件
  6. Mahout:基于mapreduce/spark/flink等分布式运算框架的机器学习算法库
  7. Oozie:工作流调度框架
  8. Sqoop:数据导入导出工具
  9. Flume:日志数据采集框架

2. 大数据分析流程

Web日志数据挖掘

2.1 案例名称

一般中型的网站(10W的PV以上),每天会产生1G以上Web日志文件。大型或超大型的网站,可能每小时就会产生10G的数据量。
具体来说,比如某电子商务网站,在线团购业务。每日PV数100w,独立IP数5w。用户通常在工作日上午10:00-12:00和下午15:00-18:00访问量最大。日间主要是通过PC端浏览器访问,休息日及夜间通过移动设备访问较多。网站搜索浏量占整个网站的80%,PC用户不足1%的用户会消费,移动用户有5%会消费。

2.2 需求描述

“Web点击流日志”包含着网站运营很重要的信息,通过日志分析,我们可以知道网站的访问量,哪个网页访问人数最多,哪个网页最有价值,广告转化率、访客的来源信息,访客的终端信息等。

2.3 数据来源

可以采用浏览器潜入指定js程序 监听用户点击事件 通过ajax方式将相关信息吐到后端服务器上写入到服务器日志

2.4 数据处理流程图

  1. 数据采集:定制开发采集程序,或使用开源框架FLUME
  2. 数据预处理:定制开发mapreduce程序运行于hadoop集群
  3. 数据仓库技术:基于hadoop之上的Hive
  4. 数据导出:基于hadoop的sqoop数据导入导出工具
  5. 数据可视化:定制开发web程序或使用kettle等产品
  6. 整个过程的流程调度:hadoop生态圈中的oozie工具或其他类似开源产品

2.5 项目技术架构图

2.6 可视化

2.7 整体架构图

1.Hadoop介绍的更多相关文章

  1. [Hadoop入门] - 1 Ubuntu系统 Hadoop介绍 MapReduce编程思想

    Ubuntu系统 (我用到版本号是140.4) ubuntu系统是一个以桌面应用为主的Linux操作系统,Ubuntu基于Debian发行版和GNOME桌面环境.Ubuntu的目标在于为一般用户提供一 ...

  2. Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装

     Hadoop介绍 Hadoop是一个能对大量数据进行分布式处理的软件框架.其基本的组成包括hdfs分布式文件系统和可以运行在hdfs文件系统上的MapReduce编程模型,以及基于hdfs和MapR ...

  3. 在HDInsight中的Hadoop介绍

    在HDInsight中的Hadoop介绍 概览 Azure的HDInsight是,部署和规定的Apache™Hadoop®集群在云中,提供用于管理,分析和大数据报告软件框架中的服务. 大数据 数据被描 ...

  4. Hadoop介绍篇

    Hadoop详解 1.前言 对于初次接触Hadoop的小伙伴来说,Hadoop是一个很陌生的东西,尤其是Hadoop与大数据之间的关联,写这篇文章之前,我也有许多关于Hadoop与大数据的疑惑,接下来 ...

  5. Hadoop记录-hadoop介绍

    1.hadoop是什么? Hadoop 是Apache基金会下一个开源的大数据分布式计算平台,它以分布式文件系统HDFS和MapReduce算法为核心,为用户提供了系统底层细节透明的分布式基础架构. ...

  6. Hadoop介绍-4.Hadoop中NameNode、DataNode、Secondary、NameNode、JobTracker TaskTracker

    Hadoop是一个能够对大量数据进行分布式处理的软体框架,实现了Google的MapReduce编程模型和框架,能够把应用程式分割成许多的 小的工作单元,并把这些单元放到任何集群节点上执行.在MapR ...

  7. Hadoop介绍-3.HDFS介绍和YARN原理介绍

    一. HDFS介绍: Hadoop2介绍 HDFS概述 HDFS读写流程   1.  Hadoop2介绍 Hadoop是Apache软件基金会旗下的一个分布式系统基础架构.Hadoop2的框架最核心的 ...

  8. Hadoop(3)-Hadoop介绍

    Hadoop三大发行版本 Hadoop三大发行版本:Apache.Cloudera.Hortonworks. Apache版本最原始(最基础)的版本,对于入门学习最好. Cloudera在大型互联网企 ...

  9. Hadoop基础——第一弹:Hadoop介绍

    一.基础 1.了解Java.Linux操作系统相关知识 2.如需精进,应为水平要达到一定标准,能够阅读国外相关技术网站,eg:http://hadoop.apache.org/ 二.什么是Hadoop ...

随机推荐

  1. android软件开发基础

    1.android特性:开放性:开源的一个基础, 方便性: 平等性: 2.Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,Broadc ...

  2. webstorm如何支持markdown

    首先安装markdown 插件 第一个即可.

  3. MySQL语句整理(二)

    数据库操作前的准备 -- 创建数据库 -- create database python_test_1 charset=utf8; -- 使用数据库 -- use python_test_1; -- ...

  4. datatable去掉表头默认排序

    禁用排序:"ordering":false 某一列禁用排序:"orderable":false 以某一列排序:"order":[[x,&qu ...

  5. IDEA中使用单元测试@Test等,提示没有 Junit.jar包

    1.File-->Project Structure-->Modules-->右侧Dependencies-->+号-->JARs or directories... 2 ...

  6. js加载等待效果

    demo01: 加载首页的时候,可能会很缓慢,放一张等待图片. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN ...

  7. 【Spark】源码分析之RDD的生成及stage的切分

    一.概述 Spark源码整体的逻辑(spark1.3.1): 从saveAsTextFile()方法入手 -->saveAsTextFile()  --> saveAsHadoopFile ...

  8. composer切换中国镜像

    替换 composer.lock 文件中的 https://files.phpcomposer.com/files/ 为 https://dl.laravel-china.org 命令行 compos ...

  9. Python3练习:对员工信息文件,实现增删改查操作

    1.练习要求: 2.数据文件(data_staff.txt) 1,Alex Li,22,13651054684,运维,2013-02-04 2,Jack Wang,20,13312331232,HR, ...

  10. C语言中结构体的访问方法解读

    在C语言中,对结构体的访问一般有两种常规方式:"."访问和"->"访问.那么两者有什么区别呢?对C语言有一定了解的同学应该知道,我们新建一个结构体的时候, ...