8 大愚若智_

尚未进行身份认证

我要认证

毕业于电子科技大学,7+年大数据领域研发经验,参与/主导过用户画像、推荐系统、数仓、大数据平台等多个数据项目,对数据分析、挖掘技术颇有兴趣,CSDN小博主一枚。

等级
TA的排名 9k+

Hadoop高可用(HA)方案总结

一 、Hadoop1.0时期的NameNode及Secondary NameNode在早期的hadoop时代,hdfs集群存在严重的单点问题,即集群只有一个NameNode节点,尽管有SecondaryNameNode,CheckPointNode,BackupNode这些机制来对单点的问题做一定的防反,但单点问题是依然存在的。在主NameNode挂掉之后,集群的管理不能自动的切换到另外一个N...

2020-04-24 10:11:36

hive自定义函数开发与部署

在利用Hive或者Spark-sql进行数据分析任务时,经常会遇到一些Mysql等传统数据库中有的函数而hive中没有,或者需要自己定义一些复杂的字符串处理、复杂计算计算逻辑的时候,找不到可以用的Hive函数时。尽管可以编写一些map-reduce等程序来向集群提交任务,但毕竟不如操作SQL来爽快。为此,hive和Spark-sql都提供了一些接口类,我们基本这些接口类可以定义自己的Hive函数,...

2020-04-20 15:38:37

用户标签Http接口性能调优

项目背景:用户画像库有10+亿级别用户的用户画像数据,存储库为Hbase rowkey设计为用户ID的Hash值并经过域分区设计 使得记录基本能分布在各个region上,满足前端根据用户ID查询用户画像数据的需求、同时避免Hbase 在读写时出现热点region。问题: 前端APP的访问需求是并发500、峰值TPS达到30000TPS、响应时间50ms内。这对一个普通的应用而言并不难,在数据...

2020-04-03 11:23:16

hbase写ES丢数据参数调优总结

通过ES对百亿级hbase数据构建索引,在读取Hbase至写入hbase过程中,发现有写入缓慢及数据丢失的现象,经过本人排查、调优后的一些经验总结如下,方便遇到相关问题的同学参考:hbase写ES丢数据总结1、ES连接池打满 新的ES写入线程获取连接时会失败,旧的连接在提交Bulk时可能出错 DO: 1、增加重试及休眠时间随重试次数延长 2、减少并发打开ES连接的线程...

2020-04-03 11:15:43

spark.mllib源码阅读-聚类算法1-KMeans

KMeans聚类是聚类分析比较简单的一种,由于其简单、高效、易于理解实现等优点被广泛用于探索性数据分析中。 关于KMeans算法的介绍、分析的相关文章可谓汗牛充栋,留给我能写的东西并不多了,在这里,我通过罗列相关文章的方式,将涉及KMeans聚类的各方面做一个尽量详尽的总结。最后简单介绍一下Spark下KMeans聚类的实现过程。KMeans聚类算法原理:关于KMeans算法的原理及单机版实现,可

2017-04-21 15:16:18

spark.mllib源码阅读-分类算法5-GradientBoostedTrees

Gradient-Boosted Trees(GBT或者GBDT) 和 RandomForests 都属于集成学习的范畴,相比于单个模型有限的表达能力,组合多个base model后表达能力更加丰富。关于集成学习的理论知识,包括GBT和Random Forests的一些比较好的参考资料:周志华教授的"Ensemble Methods: Foundations and Algorithms",系统的

2017-04-19 15:23:38

spark.mllib源码阅读-分类算法4-DecisionTree

本篇博文主要围绕Spark上的决策树来讲解,我将分为2部分来阐述这一块的知识。第一部分会介绍一些决策树的基本概念、Spark下决策树的表示与存储、结点分类信息的存储、结点的特征选择与分类;第二部分通过一个Spark自带的示例来看看Spark的决策树的训练算法。另外,将本篇与上一篇博文"spark.mllib源码阅读bagging方法"的bagging子样本集抽样方法结合,也就理解了Spark下的决

2017-04-11 09:58:52

spark.mllib源码阅读-bagging方法

在训练集成分类器时,关键的一步在于如何从全训练样本集中构建子样本集提供给子分类器进行训练。目前主流的两种子样本集构造方式是bagging方法和boosting方法。bagging方法的思想是从全样本集中有放回的进行抽样来构造多个子样本集,每个子样本集中可以包含重复的样本。对每个子样本集训练一个模型,然后取平均得到最后的集成结果。baggingbagging方法的主要目的是为了降低模型的varian

2017-04-05 20:59:45

spark.mllib源码阅读-分类算法3-SVM

Spark2.1版本目前只实现了linear SVM(即线性支持向量机),非线性SVM及核技巧目前还没有实现。因此本篇主要介绍的是Spark中的线性SVM及参数求解。SVM的理论及推导可以参考支持向量机通俗导论(理解SVM的三层境界)由于Spark实现的是线性SVM,在此,我将简单介绍一下线性分类器与线性可分、线性SVM、线性不可分下的线性SVM等基本概念与原理,最后再结合Spark介绍以下线性S

2017-03-31 13:35:01

spark.mllib源码阅读-分类算法2-NaiveBayes

朴素贝叶斯模型简述:贝叶斯模型通过使用后验概率和类的概率分布来估计先验概率,具体的以公式表达为P(Y)可以使用训练样本的类分布进行估计。如果X是单特征也很好估计,但如果X={x1,x2,..,xn}等n个特征构成,那估计n个特征的联合概率分布P(X)=P(x1,x2,...,xn)将变得非常困难。由于贝叶斯模型的参数难于估计,限制了其的应用。朴素贝叶斯模型是贝叶斯模型的简化版本,通过假设特征之间独

2017-03-29 17:47:08

spark.mllib源码阅读-分类算法1-LogisticRegression

传统的线性回归模型z(x)=wx+b,其输出为负无穷至正无穷的区间,如果输出值为一个事件发生的概率,那么就要求输出区间为[0,1],传统的一些线性回归模型就不能work了,一个很简单的想法就是在z(x)线性输出的基础上增加一个从0到1光滑的单调递增的函数。同时对于很多事件来说,在事件确定发生的概率区间内 条件的微弱变化几乎不影响事件的发生,而在事件发生与不发生的交界区间 条件的微弱变化对事件发生的

2017-03-25 15:20:47

spark.mllib源码阅读-回归算法2-IsotonicRegression

IsotonicRegression是Spark1.3版本引入的一个带约束的回归模型。IsotonicRegression又称保序回归,保序回归确保拟合得到一个非递减逼近函数的条件下 最小化均方误差,相关的介绍可以阅读http://fa.bianp.net/blog/2013/isotonic-regression/,借用该文的一篇图来说明一下图中横轴为序号,纵轴y为输入数据,假设x为要拟合的数据

2017-03-24 13:22:53

spark.mllib源码阅读-回归算法1-LinearRegression

Spark实现了三类线性回归方法:1、LinearRegression:普通线性回归模型2、LassoRegression:加L1正则化的线性回归3、RidgeRegression:加L1正则化的线性回归Spark采用了模型和训练分离定义的方式,模型和模型的迭代计算都很清晰:如LinearRegressionModel和LinearRegressionWithSGD,LassoModel和Lass

2017-03-23 10:25:33

spark.mllib源码阅读-优化算法3-Optimizer

Spark中的求解器,根据输入的训练数据及设定的迭代次数、正则化项、参数收敛精度等进行迭代求解模型的参数。Spark内部实现来两类求解器,基于随机梯度下降(miniBatch选取样本)的GradientDescent、基于大规模数值优化算法的LBFGS。在整体架构上,两个类都继承自Optimizer,并需要调用Gradient和UpdaterGradientDescentGradientDesce

2017-03-22 16:14:51

spark.mllib源码阅读-优化算法2-Updater

Updater是Spark中进行机器学习时对用于更新参数的轮子,参数更新的过程是1、第i轮的机器学习求解得到的参数wi2、第i+1轮计算得到的梯度值3、正则化选项来计算第i+1轮的机器学习要求解的参数wi+1 Spark实现了三类Updater,SimpleUpdater、L1Updater及SquaredL2Updater,他们之间关系为SimpleUpdater:无正则化的Updater,直接

2017-03-21 15:11:52

spark.mllib源码阅读-优化算法1-Gradient

Spark中定义的损失函数及梯度,在看源码之前,先回顾一下机器学习中定义了哪些损失函数,毕竟梯度求解是为优化求解损失函数服务的。监督学习问题是在假设空间F中选取模型f作为决策函数,对于给定的输入X,由f(X)给出相应的输出Y,这个输出的预测值f(X)与真实值Y可能一致也可能不一致,用一个损失函数(lossfunction)或代价函数(cost function)来度量预测错误的程度。损失函数是f(

2017-03-20 13:03:10

用户画像怎么做

大数据时代,大家都在说精准营销,所谓精准营销即是将你的商品、服务定向推广到真正需要它的人实现商品服务与用户的精确匹配、达到降低推广费用、提升推广效率的目的,这一点在当今互联网红利消退、获客成本越来越高的今天,更加重要。诸如此类的还有千人千面的个性化服务、智能感知服务等等。需要实现以上目的,需要商品、服务提供者对用户做到足够的了解。怎么做到对用户的了解:通常情况下,我们会基于用户在平台内部的注册信息

2017-03-07 17:21:08

CNN和RNN在NLP任务中的对比实验

这篇博客主要是拜读IBM Research发表的论文“Comparative Study of CNN and RNN for Natural Language Processing”,结合自己的体会做一个阅读笔记。        目前深度学习主要包括CNN(卷积神经网络)和RNN(递归神经网络)两大阵营,基于卷积的CNN对识别目标任务的结构具有一定的优势,而RNN由于其记忆功能对序列识别建模具备

2017-02-16 10:42:27

房屋价格数据采集与分析

随着互联网的发展,可供分析的信息越来越多,利用互联网上的信息来对生活中的问题做一些简单的研究分析,变得越来越便利了。本文就从数据采集、数据清洗、数据分析与可视化三部分来看看新的一年里房市的一些问题。数据采集:         数据采集即从网页上采集我们需要的指定信息,一般使用爬虫实现。当前开源的爬虫非常多,处于简便及学习的目的,在此使用python的urllib2库模拟http访问网页,并Beau

2017-01-23 11:15:52

使用Spark集群进行ETL的架构介绍

什么是ETL:ETL(extract提取、transform转换、load加载)。ETL负责将分散的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后,进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘提供决策支持的数据。使用Spark开发ETL系统的优势:1、由于海量的日志记录、交易记录,单机进行ETL变得越来越困难。搭建一套具备大规模数据处理能力的E

2017-01-13 14:11:49

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。