
bigdata
文章平均质量分 88
ljtyxl
大数据,智能算法研究,包括机器学习,深度学习,强化学习nlp等在推荐领域的应用和智能算法研究,比赛之类的合作联系qq:1329331182,wx:ljt1761
展开
-
聚类方法综述
引言 由聚类所生成的簇是一组数据对象的集合 ,这些在同一 个簇中的对象彼此相似,而与其他簇 中的对象相异。聚类分 析最大程度地实现类中对象相似度最大、类间对象相似度最 小 。 聚类算法大体可以划分为以下几类l2 “ :(1)基于划分 的方法 (partitioning m ethod)[ 。 ” ;(2)基于 层 次 的 方法 (hierarchical m ethod)C“转载 2017-07-20 09:50:56 · 1340 阅读 · 0 评论 -
层次聚类
层次聚类,是一种很直观的算法。顾名思义就是要一层一层地进行聚类,可以从下而上地把小的cluster合并聚集,也可以从上而下地将大的cluster进行分割。似乎一般用得比较多的是从下而上地聚集,因此这里我就只介绍这一种。 所谓从下而上地合并cluster,具体而言,就是每次找到距离最短的两个cluster,然后进行合并成一个大的cluster,直到全部合并为一个cluster。整个过程就是建立一个树原创 2017-07-20 10:13:38 · 887 阅读 · 0 评论 -
高斯混合模型(GMM)
一、EM算法 EM算法是一种迭代算法,用于含有隐含变量的概率模型参数的极大似然估计。设Y为观测随机变量的数据,Z为隐藏的随机变量数据,Y和Z一起称为完全数据。 观测数据的似然函数为:模型参数θ的极大似然估计为:这个问题只有通过迭代求解,下面给出EM算法的迭代求解过程: step1、选择合适的参数初值θ(0),开始迭代 step2、E步,求期望。θ(i)为第i次迭代θ的估计值,在第i+1步,计转载 2017-07-20 14:12:03 · 910 阅读 · 0 评论 -
HDFS +zookeeper实现高可用
NameNode 高可用整体架构概述在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDFS NameNode 和 JobTracker 都存在着单点问题,这其中以 NameNode 的单点问题尤为严重。因为 NameNode 保存了整个 HDFS 的元数据信息,一旦 NameNode 挂掉,整个 HDFS 就无法访问,同时 Hadoop 生态系统中依赖于 HDFS 的各个组件,包括转载 2017-07-20 17:34:29 · 8443 阅读 · 1 评论 -
MAPREDUCE原理
mapreduce的shuffle机制 3.1.1 概述: mapreduce中,map阶段处理的数据如何传递给reduce阶段,是mapreduce框架中最关键的一个流程,这个流程就叫shuffle; shuffle: 洗牌、发牌——(核心机制:数据分区,排序,缓存); 具体来说:就是将maptask输出的处理结果数据,分发给reducetask,并在分发的过程中,原创 2017-07-17 18:37:28 · 1167 阅读 · 0 评论 -
Mapreduce中的分区Partitioner
Mapreduce中的分区Partitioner 4.2.1 需求 根据归属地输出流量统计数据结果到不同文件,以便于在查询统计结果时可以定位到省级范围进行 4.2.2 分析 Mapreduce中会将map输出的kv对,按照相同key分组,然后分发给不同的reducetask 默认的分发规则为:根据key的hashcode%reducetask数来分发 所以:如果要按照我们自己的需求进行分原创 2017-07-17 19:26:35 · 489 阅读 · 0 评论 -
mapreduce数据压缩
概述 这是mapreduce的一种优化策略:通过压缩编码对mapper或者reducer的输出进行压缩,以减少磁盘IO,提高MR程序运行速度(但相应增加了cpu运算负担) 1、 Mapreduce支持将map输出的结果或者reduce输出的结果进行压缩,以减少网络IO或最终输出数据的体积 2、 压缩特性运用得当能提高性能,但运用不当也可能降低性能 3、 基本原则: 运算密集型的job原创 2017-07-17 19:27:35 · 587 阅读 · 0 评论 -
大数据表转移hdfs后查询处理
reduce端join算法实现 1、需求: 订单数据表t_order: id date pid amount 1001 20150710 P0001 2 1002 20150710 P0001 3 1002 20150710 P0002 3商品信息表t_product id name category_id price原创 2017-07-17 19:52:00 · 1437 阅读 · 0 评论 -
mapreduce web日志预处理
需求: 对web访问日志中的各字段识别切分 去除日志中不合法的记录 根据KPI统计需求,生成各类访问请求过滤数据2、实现代码: a) 定义一个bean,用来记录日志数据中的各数据字段 public class WebLogBean {private String remote_addr;// 记录客户端的ip地址private String remote_user;// 记录客户端用户名原创 2017-07-17 20:06:29 · 899 阅读 · 0 评论 -
决策树随机森林adaboost理论实战
参考:http://dataunion.org/5107.html 1.概述 决策树是通过一系列规则对数据进行分类的过程。它提供一种在什么条件下会得到什么值的类似规则的方法。决策树分为分类树和回归树两种,分类树对离散变量做决策树,回归树对连续变量做决策树。2.棵决策树的生成过程主要分为以下3个部分: 特征选择:特征选择是指从训练数据中众多的特征中选择一个特征作为当前节点的分裂标准,如何选择特征转载 2017-07-21 11:19:51 · 601 阅读 · 0 评论 -
RPC与Apache Thift
特殊的RPC服务——JAVA RMI、阿里的RPC框架Dubbo(服务治理也会一起讲解)、Apache Thift。 MQ 消息队列又是另外一种系统间通信方式的实现。消息队列的规范目前有N多种,针对的场景和实现的性能各不相同。这个系列的博文我们将花一定的篇幅介绍JMS、AMQP两种消息队列协议和实现(特别是AMQP协议),然后介绍Kafka消息队列和使用场景,最后前瞻一下目前号称最快的消息队列Z转载 2017-07-22 17:56:59 · 956 阅读 · 0 评论 -
HDFS YARN zookeeper HBASE HIVE HIVE hwi的启动
一.启动hadoop: 主机上,开启所有节点sh $HADOOP_HOME/sbin/start-all.sh 访问: http://192.168.32.129:50070 http://192.168.32.129:8088 问题: namenode元数据被破坏,需要修复 hadoop namenode –recover 停止: sh $HADOOP_HOME/s原创 2017-07-23 15:32:26 · 460 阅读 · 0 评论 -
hadoop MapReduce 输出结果中文乱码解决
hadoop涉及输出文本的默认输出编码统一用没有BOM的UTF-8的形式,但是对于中文的输出window系统默认的是GBK,有些格式文件例如CSV格式的文件用excel打开输出编码为没有BOM的UTF-8文件时,输出的结果为乱码,只能由UE或者记事本打开才能正常显示。因此将hadoop默认输出编码更改为GBK成为非常常见的需求。 自定义 TextOutputFormat.classpack转载 2017-07-19 16:43:54 · 4010 阅读 · 0 评论 -
MR倒排索引建立
倒排索引建立 需求:有大量的文本(文档、网页),需要建立搜索索引 倒排索引简单地就是:根据单词,返回它在哪个文件中出现过,而且频率是多少的结果。这就像百度里的搜索,你输入一个关键字,那么百度引擎就迅速的在它的服务器里找到有该关键字的文件,并根据频率和其他一些策略(如页面点击投票率)等来给你返回结果。这个过程中,倒排索引就起到很关键的作用。 分析设计 倒排索引涉及几个过程:Ma转载 2017-07-19 18:28:50 · 503 阅读 · 0 评论 -
MR求两个用户的共同粉丝列表
以下是qq的好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中的好友关系是单向的) 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,原创 2017-07-19 19:20:44 · 1253 阅读 · 0 评论 -
MR合并小文件
需求 无论hdfs还是mapreduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件的场景,此时,就需要有相应解决方案 分析 小文件的优化无非以下几种方式: 1、 在数据采集的时候,就将小文件或小批数据合成大文件再上传HDFS 2、 在业务处理之前,在HDFS上使用mapreduce程序对小文件进行合并 3、 在mapreduce处理时,可采用combineInputF原创 2017-07-19 19:33:41 · 1662 阅读 · 0 评论 -
日志增强解析处理
现有一些原始日志需要做增强解析处理,流程: 1、 从原始日志文件中读取数据 2、 根据日志中的一个URL字段到外部知识库中获取信息增强到原始日志 3、 如果成功增强,则输出到增强结果目录;如果增强失败,则抽取原始数据中URL字段输出到待爬清单目录 分析 程序的关键点是要在一个mapreduce程序中根据数据的不同输出两类结果到不同目录,这类灵活的输出需求可以通过自定义outputfo原创 2017-07-19 19:43:36 · 678 阅读 · 0 评论 -
基于Flume的美团日志收集系统
基于Flume的美团日志收集系统(一)架构和设计 问题导读: 1. Flume-NG与Scribe对比,Flume-NG的优势在什么地方? 2.架构设计考虑需要考虑什么问题? 3.Agent死机该如何解决? 4.Collector死机是否会有影响? 5.Flume-NG可靠性(reliability)方面做了哪些措施? 美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hado转载 2017-08-08 12:29:12 · 1246 阅读 · 0 评论 -
工作流调度器azkaban 安装
概述 2.1.1为什么需要工作流调度系统 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序、hive脚本等 各任务单元之间存在时间先后及前后依赖关系 为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行;例如,我们可能有这样一个需求,某个业务系统每天产生20G原始数据,我们每天都要对其进行处原创 2017-08-08 19:51:54 · 691 阅读 · 0 评论 -
Azkaban实战
Azkaba内置的任务类型支持command、javaCommand类型单一job示例 1、创建job描述文件 vi command.jobcommand.jobtype=command command=echo ‘hello’2、将job资源文件打包成zip文件 zip command.job3、通过azkaban的web管理平台创建project并上传job压缩包 首先创建projec原创 2017-08-08 19:53:23 · 375 阅读 · 0 评论 -
hadoop复合键排序使用方法
在Hadoop中处理复杂业务时,需要用到复合键,复合不同于单纯的继承Writable接口,而是继承了WritableComparable接口,而实际上,WritableComparable接口继承了Writable和Comparable接口,如果只需要使用某一个类作为传值对象而不是作为key,继承Writable接口即可。 public interface WritableComparable转载 2017-08-10 11:25:30 · 329 阅读 · 0 评论 -
HiveSQL解析过程详解
HiveSQL解析过程详解 Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。 在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区的咨询和自己的努力,在解决这些问题的同时我们对Hive将SQL编译为M转载 2017-07-25 17:34:38 · 4707 阅读 · 0 评论 -
完全分布式安装Hadoop,Hive,Hbase,Hwi,Zookeeper
完全分布式安装Hadoop,Hive,Hbase,Hwi,Zookeeper 其他部分见: HDFS YARN zookeeper HBASE HIVE HIVE hwi的启动 HDFS和HBASE动态增加和减少节点 一.下载介质到/opt下面: 1.hadoop wget http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.7.原创 2017-07-26 10:11:07 · 913 阅读 · 0 评论 -
点击流日志分析项目实战开发流程
step-1: 使用flume采集数据到 /flume/events/%y-%m-%d/下面 flume配置 tail-hdfs.conf用tail命令获取数据,下沉到hdfs启动命令:bin/flume-ng agent -c conf -f conf/tail-hdfs.conf -n a1######### Name the components on this agenta1.原创 2017-08-10 12:55:26 · 2011 阅读 · 0 评论 -
Hive TopN+分组TopN
TopN 可以通过sort by limit N 来实现 比 通过order by limit N 来实现要快得多 个人感觉sort by使用的时候如果能合理使用distribute by的话会更均衡一些 sort by可以启动多个reduce,每个reduce做局部排序,但是这对于sort by limit N已经够用了。 第一个JOB是在每个reduce中做局部排序,然后分别取TOP N转载 2017-08-10 21:07:10 · 1036 阅读 · 0 评论 -
关键路径转化率分析——漏斗模型
6.关键路径转化率分析——漏斗模型 转化:在一条指定的业务流程中,各个步骤的完成人数及相对上一个步骤的百分比 6.1 需求分析 step number rate 1 101110 100% 2 40000 40% 3 20000 20% 4 1000原创 2017-08-11 11:53:55 · 5077 阅读 · 0 评论 -
MapReduce中的排序和分组
回顾Map阶段四大步骤 首先,我们回顾一下在MapReduce中,排序和分组在哪里被执行:map stage 从上图中可以清楚地看出,在Step1.4也就是第四步中,需要对不同分区中的数据进行排序和分组,默认情况下,是按照key进行排序和分组。1.2 实验场景数据文件 在一些特定的数据文件中,不一定都是类似于WordCount单次统计这种规范的数据,比如下面这类数据,它虽然只有两列,但转载 2017-08-11 15:00:56 · 1529 阅读 · 0 评论 -
hive使用方式
Hive交互shell bin/hiveHive thrift服务 启动方式,(假如是在hadoop01上): 启动为前台: hive –service hiveserver2 启动为后台:nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err &启动成功后,可以在别的节点上用beeline去连原创 2017-07-27 22:18:36 · 904 阅读 · 0 评论 -
Storm架构和编程模型总结
1、编程模型 DataSource:外部数据源 Spout:接受外部数据源的组件,将外部数据源转化成Storm内部的数据,以Tuple为基本的传输单元下发给Bolt Bolt:接受Spout发送的数据,或上游的bolt的发送的数据。根据业务逻辑进行处理。发送给下一个Bolt或者是存储到某种介质上。介质可以是Redis可以是mysql,或者其他。 Tuple:S原创 2017-08-20 20:08:41 · 250 阅读 · 0 评论 -
Storm目录树、任务提交、消息容错、通信机制
Storm技术增强 注:学习本课程,请先学习Storm基础 课程目标: 通过本模块的学习,能够掌握Storm底层的通信机制、消息容错机制、storm目录树及任务提交流程。 课程大纲: 1、 Storm程序的并发机制 2、 Storm框架通信机制(worker内部通信与外部通信) 3、 Storm组件本地目录树 4、 Storm zookeeper目录树 5原创 2017-08-20 20:19:01 · 770 阅读 · 0 评论 -
log4j+flume+HDFS实现日志存储
参考:http://blog.youkuaiyun.com/sum__mer/article/details/52474443 376 hadoop dfs -chown -R hadoop:hadoop /flume 377 hdfs dfs -chown -R hadoop:hadoop /flume 378 hdfs dfs -chown -R 777 /flume 37原创 2017-08-06 17:09:35 · 1641 阅读 · 0 评论 -
map+shuffle+reducer
map+shuffle+reducer 1. MAPREDUCE入门 4 1.1 为什么要MAPREDUCE 4 1.2 MAPREDUCE程序运行演示 4 1.3 MAPREDUCE 示例编写及编程规范 4 1.3.1 编程规范 4 1.3.2 wordcount示例编写 5 1.4 MAPREDUCE程序运行模式及debug方法 7 1.4.1 本地运行模式 7翻译 2017-08-07 15:03:52 · 411 阅读 · 0 评论 -
网站点击流数据分析项目
什么是点击流数据 1.1.1 WEB访问日志 即指用户访问网站时的所有访问、浏览、点击行为数据。比如点击了哪一个链接,在哪个网页停留时间最多,采用了哪个搜索项、总体浏览时间等。而所有这些信息都可被保存在网站日志中。通过分析这些数据,可以获知许多对网站运营至关重要的信息。采集的数据越全面,分析就能越精准。 日志的生成渠道: 1)是网站的web服务器所记录的web访问日志; 2)是通过在页原创 2017-08-07 15:05:24 · 33063 阅读 · 3 评论 -
CentOS6.9+Hadoop2.7.3+Hive1.2.1+Hbase1.3.1+Spark2.1.1
大数据学习环境搭建(CentOS6.9+Hadoop2.7.3+Hive1.2.1+Hbase1.3.1+Spark2.1.1) www.ljt.cosa192.168.1.11 www.ljt.cos02 192.168.1.12 www.ljt.cos03 192.168.1.13 备注 NameNode Hadoop Y Y 高可用转载 2017-08-14 20:48:30 · 928 阅读 · 0 评论 -
在eclipse中修改spark2.1源码
首先声明下 这是我在eoe上转载的 写的很好就摘抄了。。。 第一步 下载源码svn下载,下载地址: spark:http://svn.igniterealtime.org/svn/repos/spark/trunk openfire:http://svn.igniterealtime.org/svn/repos/openfire/trunk smack:http://svn.igniterea转载 2017-08-24 21:44:47 · 828 阅读 · 0 评论 -
Kafka集群安装部署、Kafka生产者、Kafka消费者
概念: Storm上游数据源之Kakfa 1、 kafka是什么? 2、 JMS规范是什么? 3、 为什么需要消息队列? 4、 Kafka核心组件 5、 Kafka安装部署 6、 Kafka生产者Java API 7、 Kafka消费者Java API 1、Kafka是什么 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。KAF原创 2017-08-22 17:44:37 · 1602 阅读 · 0 评论 -
Kafka+Storm+HDFS整合实践
在基于Hadoop平台的很多应用场景中,我们需要对数据进行离线和实时分析,离线分析可以很容易地借助于Hive来实现统计分析,但是对于实时的需求Hive就不合适了。实时应用场景可以使用Storm,它是一个实时处理系统,它为实时处理类应用提供了一个计算模型,可以很容易地进行编程处理。为了统一离线和实时计算,一般情况下,我们都希望将离线和实时计算的数据源的集合统一起来作为输入,然后将数据的流向分别经由实时转载 2017-08-22 17:46:17 · 1181 阅读 · 0 评论 -
Kafka负载均衡、Kafka自定义Partition、Kafk文件存储机制
1、Kafka整体结构图 Kafka名词解释和工作方式 Producer :消息生产者,就是向kafka broker发消息的客户端。 Consumer :消息消费者,向kafka broker取消息的客户端 Topic :咋们可以理解为一个队列。 Consumer Group (CG):这是kafka用来实现一个topic消息的广播(发给所有的consumer原创 2017-08-22 17:48:46 · 1198 阅读 · 0 评论 -
Redis基础、应用场景、数据结构及案例
1、Redis概述 Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的应用程序的完美解决方案。 Redis从它的许多竞争继承来的三个主要特点: Redis数据库完全在内存中,使用磁盘仅用于持久性。 相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。String,List,set,map,sortSet Redis原创 2017-08-22 20:14:07 · 318 阅读 · 0 评论 -
监控-Kafka Manager
centos7 安装kafka Manager 1.安装sbt编译环境curl https://bintray.com/sbt/rpm/rpm |tee /etc/yum.repos.d/bintray-sbt-rpm.repoyum install sbt2.下载kafka-managerhttps://github.com/yahoo/kafka-manager/releases3.编译,重原创 2017-08-22 22:06:51 · 3847 阅读 · 0 评论