自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (3)
  • 收藏
  • 关注

原创 用户活跃度标签建模

应用场景期望根据客户近3个月的登录行为和发帖更新贴行为,评估客户的活跃度,将活跃度分为多个等级,以根据不同的活跃等级开展不同的营销活动。基本思路1、采用聚类算法,特征值取最近3个月每周(一周取7天)登录次数,每周发帖次数,每周更新贴次数,按周展开列,共12周*3=36个特征值,对每个特征值按照时间周期做降权处理。借鉴牛顿温度冷却定律:本期温度=上期温度 * exp(-(冷却系数)*间隔的周期数)特征值考虑时间周期作降权处理。假设,第12周的一次登录,在今日的权重变为0.05(暂定),则,冷却系数

2020-06-08 17:36:17 2596 1

原创 Spark 为啥比 MapReduce 快?

Spark 为啥比 MapReduce 快?DAG优化 和 内存(1) 算子灵活性:MR只支持Map和Reduce 两种操作,而Spark有丰富的算子。(2) Map 中间结果写磁盘,Reduce 写HDFS,多个MR之间通过HDFS交换数据。(3) DAG引擎,先划分为Stage,Stage之间才Shuffle落盘,Stage之内,都可以内存处理。(4) spark 中的rdd数据可以缓存到内存中,充分使用内存,多次使用,减少IO。进程和线程(1) MR的任务调度和启动都是进程级别的,每个进

2020-06-06 16:16:24 895

原创 Hive SQL 优化

要想做好hive优化,首先要理解MR过程,HiveSQL转换为MR的过程,以及Hive表的分区分桶机制。本质上的优化是,减少读,避免shuffle 和 增加并发度。优化的手段:跳过不必要的读减少Shuffle读延迟问题数据倾斜Partition、Bucket 使用 Skew(hive对声明了Skew的列会单独使用文件存储,并且在资源分配上有优待)MapJoin(Broadcast Join),避免ReduceJoin增加热数据备份数对于倾斜部分单独拿出来,做Map Joi

2020-06-04 14:44:12 1349

原创 Spark Streaming

资料:Spark精品教程Spark Streaming通过JDBC操作数据库Spark Streaming的基本原理以时间为单位(通常在0.5到2秒之间\color{red}通常在0.5到2秒之间通常在0.5到2秒之间)切分为微型RDD,然后进行微批处理。spark streaming $\color{red}无法实现毫秒级别 $的响应,因为他的微批处理的特性,使得它每一段数据的处理都会经历Spark DAG,任务调度等过程,需要一定的开销。因此可以认为spark streaming实现的是准实时

2020-06-03 11:13:14 197

原创 Flink Windows 多流 Join 和 SQL Join

Flink Windows Join 都是 Inner Join两个流join时,先做join操作,形成JoinedStream,然后再指定Window,最后接着join后的transform操作。案例:inputStream1:DataStream[(Long,String,Int)] = ...inputStream2:DataStream[(String,Long,Int)] = ...//通过DataStream Join方法将两个数据流关联inputStream1.join(input

2020-06-03 11:11:42 3516

原创 Flink 状态管理

有状态计算是指在程序计算过程中,在Flink程序内部存储计算产生的中间结果,并提供给后续Function或者算子计算结果使用。状态数据可以维系在本地存储中(Flink的堆内存或者堆外存),也可以借助第三方的存储,例如Flink已经实现的RocksDB,或者自定义其他存储。state 可以理解为Flink上下文中可以access的一个内存数据库(相比于无状态计算,需要实现同样功能需要借助外部数据库,如Redis),通过存取更新状态,从而实现有状态地算子运算。案例:用户想实现CEP(复杂事件处理),获

2020-06-03 11:10:54 348

原创 Flink 时间概念与 WaterMark

Flink 时间概念与 WaterMarkFlink中的时间分为三种事件时间:Event Time接入时间:Ingestion Time处理时间:Processing Time[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v5oglSmm-1591153494979)(http://cdn.rabbitai.cn/flink/flink_time/01.png)]时间指定语法:env.setStreamTimeCharacteristic(TimeCharact

2020-06-03 11:05:40 165

原创 Flink Window 机制

Flink 流的处理过程stream.keyBy(...) // 是否制定分组.window(...) 或者 .windowAll() // 指定窗口的种类,如果不分组,则指定为windowAll.trigger(...) // 指定触发器的类型,可选.evictor(...) // 指定剔除器,可选.allowedLateness(...) // 指定是否延迟处理数据,可选.sideOutputLateDate(...) // 指定OutPut Lag ,可选.reduce/aggregat

2020-06-03 11:02:57 295

原创 Flink Exactly Once

Flink Exactly OnceFlink Exactly Once 语意是基于Chandy-Lamport这个算法的思想的改进版,引入了barrier,可以在不停止整个流处理系统的前提下,保存和恢复每个subtask的snapshot,让每个节点独立地做状态保存和恢复。Chandy-Lamport 算法Initiating a snapshot: 也就是开始创建 snapshot,可以由系统中的任意一个进程发起Propagating a snapshot: 系统中其他进程开始逐个创建 sna

2020-06-03 11:01:24 195

原创 Flink DataStream API 介绍

DataStream 编程模型DataSource模块负责数据接入内置数据源:文件数据源readTextFile/readFile(InputFormat),Socket端口socketTextStream,集合数据源 fromElements第三方数据源:仅支持读取:Netty仅支持输出:ElasticSearch,HDFS支持读取和输出:Kafaka,RabbitMQ用户自定义数据源连接器Transformation模块负责数据集的各种转换操作单SingleDataSt

2020-06-03 10:59:11 263

原创 Flink基本概念和编程模型

数据分类有界数据,无界数据,其实没有必要,分为流数据和静态数据还差不多。Flink 编程接口高级语言:SQL声明式API Table API核心API DataStream/DateSet API低级构建模块 Stateful Stream ProcessingFlink程序结构第一步是获取ENV,StreamExecutionEnvironment是流式环境,而ExecutionEnvironment是批处理环境。有三种获取env的方式,以StreamExecutionEnvironme

2020-06-03 10:58:17 189

原创 一文搞懂网络协议

整个计算机和互联网行业,都是建立在数据化和网络传输基础之上的,因此,理解网络传输的模型对于一个计算机人才是十分必要的。TCP/IP 协议簇是网络协议中的事实标准TCP/IP 协议簇从下到上分为:​ 网络接口层:定义了物理接口和之上的驱动程序。​ 网络互联层:定义了IP和路由协议。​ 传输层:TCP、UDP,定义了线程端口级别的数据交换协议。​ 应用层:HTTP等,定义了不同问题下的解决方案。可以简单记忆为:WLan =》IP =》TCP =》HTTPTCP的三次握手t

2020-06-03 10:57:23 407

原创 Druid为啥这么好用?

一、Druid设计原则(1)快速查询能力:部分数据聚合(Partial Aggregate) + 内存化(In-Memory)+索引(Index)(2)水平扩展能力:分布式查询(Distributed Data) + 并行化查询(Parallelizable Query)(3)实时分析能力:不可变的过去(Immutable Past),只追加的未来(Append-Only Future)。部分聚合:Partial AggregateDruid默认会对明细数据按最明细的全维度组合,以及指标,进行预先

2020-06-03 10:55:21 1123

原创 HQL window 窗口函数

HQL窗口函数声明:资料整理于网络,仅供参考学习,如有侵权,概不负责。数据准备Over函数NTILEROW_NUMBERRANK 和 DENSE_RANKCUME_DIST 和 PERCENT_RANKCUME_DISTPERCENT_RANKLAG LEAD FIRST_VALUE LAST_VALUELAGLEADFIRST_VALUE 和 LAST_VALU...

2019-09-11 17:53:29 1321

原创 菜鸟搞懂设计模式之一:依赖与耦合

谈及依赖与耦合,其实是指的在面向对象的设计模式中,类与类之间有以下六种耦合关系: 依赖、关联、聚合、组合、继承、实现。这六种耦合关系的强度依次增强。其实没有必要分那么多种类,可以统一称为依赖与耦合关系。依赖与耦合如果说A依赖B,那么没有B,A有些事儿就干不了了。比如我想出去旅游,那么一定要选择出行工具,因为靠自己的腿是走不了多远的。这里B就是出行工具,可以是汽车、火车、飞机等。因此我出去旅游这事儿

2017-11-22 14:10:54 1873

原创 Laravel入门实战之二(CentOS6部署Nginx+Laravel线上运行环境)

安装centos的EPEL的第三方拓展程序包的源:vim /etc/yum.repos.d/epel.repo#[epel]name=Extra Packages for Enterprise Linux 6 - $basearchbaseurl=http://mirrors.ucloud.cn/epel/6/$basearchfailovermethod=priorityenable

2017-11-20 10:58:03 804

原创 Laravel入门实战之一(打造一个PHP REPL)

Laravel 是个啥?这就是一个Web框架而已。框架、框架就是别人已经搭好了架子,就像一间房子,已经搭好了骨架,程序员只是来把砖头、石灰、地板、天花板这些也是半成品的材料,填补到框架中去,最后装潢成一栋漂亮的房子。一、 开发环境搭建程序员学习一门新的语言或者技术,最好的学习方法就是不断的有输入和输出。学习JAVA就要先安装JDK,然后打印出来一个Hello World; 学习Py...

2017-11-16 12:18:18 1871

原创 Flume学习笔记之初识(三)

前言:今天开始每天抽两个小时研究Flume,从初步使用到深入的源代码探究,以期通过这个开源项目深入的学习Java。目标是2016年内熟悉整个Flume项目,能做插件的开发 (续上) 5 SinkProcessor SinkProcessor:协同多个sink间进行load balance和fail over(一)、Default Sink Processor:只有一个sink,无需创建Sink

2016-09-29 16:10:48 600

原创 Flume学习笔记之初识(二)

前言:今天开始每天抽两个小时研究Flume,从初步使用到深入的源代码探究,以期通过这个开源项目深入的学习Java。目标是2016年内熟悉整个Flume项目,能做插件的开发三、flume数据流 一个source可以有多个channel, 但一个sink只能有一个channel source、channel、sink均需要设定一个type属性,来表示组件的类型。 可配置内置的type名称,如ne

2016-09-28 10:12:19 534

原创 Flume学习笔记之初识(一)

前言:今天开始每天抽两个小时研究Flume,从初步使用到深入的源代码探究,以期通过这个开源项目深入的学习java。目标是2016年内熟悉整个Flume项目,能做插件的开发。一、 基本概念引入: Flume是一个分布式的,可靠的,高可用的海量日志采集、聚合、传输的系统。 数据流模型:source-channel-sink + topology (图1) 事务机制保障了消息传递的可靠性。 有丰富

2016-09-27 10:08:08 454

转载 Ganglia监控HDFS和HBase指标说明

资料来源于网上,收集起来,方便查询: dfs.datanode.blockChecksumOp_avg_time 块校验平均时间 dfs.datanode.blockChecksumOp_num_ops 块检验次数 dfs.datanode.blockReports_avg_time 块报告平均时间 dfs.datanode.blockReports_num_ops 块报告次数 dfs.d

2016-08-15 18:11:54 4278 1

原创 Hadoop监控之Nagios 与 Ganglia 整合

Nagios架构 Web : 用户通过web界面来管理Nagios Database:被监控的数据放入数据库 右边的框代表被管理的机器,针对Llinux上的监控进程时NRPE。 负责获取监控数据或者执行命令,NRPE和Nagios Server 通过SSL协议来进行监控和命令执行的信任授权。 – Nagios是一个监测的管理中心,但是他自身并不包括具体的检查的代码。也就是说:所有的监测

2016-08-13 18:22:46 1299

原创 Hadoop监控之Ganglia整合

1 Ganglia基本原理 在Hadoop产生之前就有Ganglia,他是为集群系统监控而生。Hadoop利用Ganglia的接口,从而实现了对Ganglia的兼容。1.1 gmond分布在各个节点上的监控进程,搜集本节点的监控信息。针对Hadoop监控,可以采用同样的协议向gmond服务发送Hadoop的监控信息。1.2 gmetad相当与集群中的中心节点,主动拉取各个节点上收集到的监控信息。可

2016-08-10 16:29:13 3777

原创 Hadoop监控之Ganglia源码编译安装方式(不建议采用)

1 Ganglia 安装配置官方网站:http://ganglia.sourceforge.net/ sourceforge 网址: https://sourceforge.net/projects/ganglia/ 2016年8月9日 10:14:22 日获取的真实下载地址:wget http://downloads.sourceforge.net/project/ganglia/gangl

2016-08-09 14:29:39 986

原创 Zookeeper原理架构

本文纯属个人笔记,通俗易懂,转载请附上原文链接!部分资料摘自网络,如有雷同,纯属巧合!Zookeeper到底是什么!?学一个东西,不搞明白他是什么东西,哪还有心情学啊!! 首先,Zookeeper是Apache的一个java项目,属于Hadoop系统,扮演管理员的角色。 然后看到官网那些专有名词,实在理解不了。在Zookeeper的官网上有这么一句话:ZooKeeper is a central

2016-04-22 11:59:44 55213 8

原创 hdfs dfsadmin

bin/hdfs dfsadmin管理HDFSHagrid01@Hagrid01:[/Hagrid/hadoop-2.6.2]bin/hdfs dfsadminUsage: hdfs dfsadminNote: Administrative commands can only be run as the HDFS superuser. **[-report [-live] [-

2016-04-15 16:21:13 2309

原创 Hadoop MapReduce 配置加载机制

前言我们运行Hadoop MapReduce程序之前,都会配置job对象,通常的程序入口如下编写: public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); String[] otherArgs = new GenericOptionsPar

2016-04-14 20:17:27 1119

原创 JAVA集合深入理解,多图解析。

概览1.Collection 接口 类似数学上的集的概念,你能想到哪些方法? 集的大小、添加、删除、批量添加、批量删除、清空。hashCode和equals 是每个类都有的,就是这么简单。2.AbstractCollection ==> Collection的骨干实现那么他都实现了Collection的哪些方法?假设我们去掉他的abstract 关键字,结果如下: 可见,这里只有size 和

2016-04-14 14:05:48 1034

原创 JAVA基础重点难点笔记

1 JAVA中为什么没有多继承机制?是因为菱形继承的问题。 解释: 两个父类继承自同一个基类,两个父类里有一个相同的方法,那么作为子类应该怎么继承这个方法?父类1的还是父类2的?但是实现多个接口则没问题,因为不管哪个接口,调用的都是同一个实现。2 面向对象设计原则• 单一职责原则 – 一个类,最好只做一件事。 • 开放封闭原则 – 软件实体应该是可扩展的,而不可修改的。也就是,对扩展开放,

2016-04-13 21:30:23 2732

原创 Hadoop MapReduce 深入理解!二次排序案例!

1. MapReduce 处理的数据类型1.1 必须实现 org.apache.hadoop.io.Writable 接口。需要实现数据的序列化与反序列化,这样才能在多个节点之间传输数据!示例:public class IntWritable implements WritableComparable<IntWritable> , public interface WritableComparab

2016-04-11 21:04:35 16212 1

原创 Hadoop-Streaming 高级参数

理解以下选项-files <comma separated list of files> specify comma separated files to be copied to the map reduce cluster:缓存文件到HDFS-libjars <comma separated list of jars> specify comma separated jar file

2016-04-09 14:20:59 2022

原创 Hadoop2.6.2 编译

1.Hadoop2.0 之后依赖 protobuf 实现RPC,因此要先安装依赖在hadoop-common-project 下 maven package -DskipTests 编译时会发现缺少依赖包protoc,并提示依赖的版本,可以修改hadoop-common-project 下 pom.xml 文件里边具体的版本(你本机安装的版本),以通过编译。 找到定义处的文件的方法: 在ha

2016-04-09 12:41:56 651

原创 阿里云上安装Git

用yum install git 的话只能安装1.7.1 版本的。要安装最新版本的需要自己编译: //先安装git依赖的包 yum install zlib-devel yum install openssl-devel yum install perl yum install cpio yum install expat-devel yum install gettext-devel

2016-04-07 19:55:44 2401

原创 从Hadoop配置文件深刻理解MapReduce优化

MapReduce优化的入手点– 合理设定Map/Reduce数量 – 如果可能,使用Combiner减少中间数据输出 – 对中间数据和最终结果启用压缩 – 减少Shuffle过程中写入磁盘的数据 – 适当增大每个节点的处理任务的并发度1. 合理设定Map数量Mapper数量不能直接设定1.1 可以通过选择BlockSize间接调整Mapper数量hdfs-site.xml 中• dfs

2016-04-07 15:16:23 852

原创 Vim 使用和技巧

默认进入的是命令模式。i:字符前插入I:行首插入a:字符后插入A:行尾插入o:插入下新行O:插入上新行esc:退回命令模式::编辑模式命令模式的常用命令:set nu 设置行号set nonu 取消行号gg:到第一行G:到最后一行nG到第n行:n:到第n行$:移动光标到行尾^:移动到行首x:删除光标所在的字符nx:删除光标后的n个字符dd:删除光标所在行dG: 删

2016-04-06 17:18:55 533

原创 Hadoop主要配置文件深入理解

1 Hadoop源码加载配置文件原理在Hadoop源码中,通过搜索classpath路径,来直接找到和读取配置的xml文件,使得你的配置在启动时生效。 通过命令bin/hadoop classpath 可以查看当前Hadoop可以识别出来的classpath。 可见,第一条路径就是配置文件的目录,因此源码可以直接使用文件名来获取配置信息。2 Hadoop配置文件的层级关系在Hadoop源码C

2016-04-06 15:32:33 17077 4

原创 MapReduce2.0 原理、架构、应用场景

MapReduce典型应用,WordCount Map阶段:首先将输入数据进行分片,然后对每一片数据执行Mapper程序,计算出每个词的个数,之后对计算结果进行分组,每一组由一个Reducer程序进行处理,到此Map阶段完成。 Reduce阶段:每个Reduce程序从Map的结果中拉取自己要处理的分组(叫做Shuffling过程),进行汇总和排序(桶排序),对排序后的结果运行Reducer程序,

2016-04-06 10:25:43 6335

原创 HDFS 原理、架构、应用

HDFS架构:各个模块的角色Active Namenode(ANN) - 主Master(只有一个) - 管理HDFS的名称空间和数据块映射信息也就是元信息 - 配置副本存放策略 - 处理客户端的读写请求Standby Namenode(SNN) - ANN的热备份 - 定期合并fsimage(HDFS的目录信息)和fsedits(HDFS的目录修改信息),并推送给ANN - 当ANN挂

2016-04-05 11:35:59 663

原创 Hadoop搭建注意事项

经过两次搭建环境实践后,总结搭建原理。1方式 单机 http://blog.csdn.net/xuxiuning/article/details/51013571 2方式 多机 http://blog.csdn.net/xuxiuning/article/details/510184251 Hadoop 各个目录的解释bin:Hadoop管理脚本和使用脚本所在目录, sbin目录下的脚本都是使用

2016-04-01 11:29:51 604

原创 Apache Hadoop2.6.2 小集群搭建

1. 拓扑结构图4台机器,搭建图如下 1,2,3,4 分别记做 Hagrid01,Hagrid02,Hagrid03,Hagrid04 NN指的是 Namenode JN指的是JournalNode DN指的是DataNode 生产环境下,Active NN 和 Standby NN 都应该单独占用一台机器,这里为了节省资源,StandbyNN上也做了 JN 和 DN 2. 对每台机器

2016-03-31 21:58:15 879 1

lucene-analyzers-smartcn-5.2.1.jar Smart Jar包

lucene-analyzers-smartcn-5.2.1.jar Smart Jar包,在Solr中的使用参考http://blog.csdn.net/xuxiuning/article/details/47750701

2015-08-18

maya2008 32位 virtools插件 maya导出nmo格式用

maya2008 32位 virtools插件 maya导出nmo格式用

2011-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除