大数据分析处理框架:hadoop
开源,Java语言,低成本。始于2004年,2011年正式推出1.0.0版,最新的稳定版是:~~
Hadoop架构(1):
(安装包)Hadoop Common Package
提供系统交互及支撑
(分布管理系统)Hadoop Distributed File System
提供分布式文件管理功能
(任务调度)Hadoop YARN
●任务调度和集群资源管理
(map reduce)MapReduce Engine
●提供计算任务的分布式并行执行功能
统计所有文档中每个词出现的次数:
1 | function map (String name,String document) : |
Hadoop架构(2):
Hive
数据仓库工具(仅作为一个工具,依赖数据库做支撑)
可以将SQL语句转换为MapReduce任务运行,十分适合数据仓库的统计分析(可以直接写sql语句)
面对传统数据库,以行为单位
HBase
分布式数据库
列数据库
Mahout
并行机器学习
分类、聚类、协同过滤等等
http://mahout.apache.org/users/basics/algorithms.html
Spark
“内存版的MapReduce”
比MapReduce更为灵活高效的编程模型
Spark SQL提供SQL语句的解析和执行功能
Spark Streaming提供流数据处理功能
MLlib是-一个机器学习包,类似Mahout
GraphX提供并行化图计算功能
Hadoop是一个大数据处理的生态环境,包含众多子项目
大数据分析处理基本流程
数据准备
数据获取:
定位需要分析的数据,抓取并存储(如HDFS)
在网关上部署探针程序,抓取HTTP请求并存储
数据清洗:
对可能影响后期分析的缺失数据,噪声数据,不规范数据进行处理
URL解码、无用URL过滤等等,得到干净的URL
特征工程
特征提取
从数据中提取特征,利用特征来表示样本
从URL中提取词语或字符串作为特征
特征选择
对特征进行评估,保留更有区分能力的特征,去除冗余特征
对特征进行信息增益计算,保留增益高的词语或者字符串,去除增益低的词语或字符串
建模分析
模型选择
选择什么样的模型来完成当前任务
采用分类算法来对URL进行二分类,如决策树
模型训练
利用现有数据训练模型
利用特征向量数据训练决策树
模型评测
评估当前模型的性能