大数据
阿童木-atom
行到水穷处,坐看云起时!
鄙人学富五车、才高八斗。技术能力称雄天下,敢领风骚数五百年。java、scala、python、C/C++、php登峰造极,精通Spring、mybatis、hibernate、struts2各种框架及具备各种大型系统架构能力,深耕搜索、推荐、数据挖掘、机器学习、深度学习、人工智能等领域,通读lucene、solr、elaticsearch、sphinx、mahout、tensorfolw等开源项目源码,精通hadoop、hbase、hive、spark、kafka、rabbit、activeMQ等大数据处理工具的应用。
展开
-
高性能搜索引擎sphinx源码解析之搜索过程和评分公式
技术交流qq群: 659201069**鄙人的新书《elasticsearch7完全开发指南》,欢迎订阅!**-----https://wenku.baidu.com/view/8ff2ce94591b6bd97f192279168884868762b8e7《kibana权威指南》----https://wenku.baidu.com/view/24cfee1ce43a...原创 2017-10-18 16:36:02 · 22206 阅读 · 0 评论 -
spark实战之RDD的cache或persist操作不会触发transformation计算
默认情况下RDD的transformation是lazy形式,实际计算只有在ation时才会进行,而且rdd的计算结果默认都是临时的,用过即丢弃,每个action都会触发整个DAG的从头开始计算,因此在迭代计算时都会想到用cache或persist进结果进行缓存。敝人看到很多资料或书籍有的说是persist或cache会触发transformation真正执行计算,有的说是不会!敝人亲自实验了一把...原创 2018-02-24 10:16:24 · 17457 阅读 · 1 评论 -
深入理解查准率与查全率
欢迎关注鄙人公众号,技术干货随时看!查准率与查全率(召回率)是在信息检索与机器学习领域常用的衡量指标,书籍或网络上有非常多的定义,敝人在重温周志华先生《机器学习》一书时,发现书中的定义是非常科学的,而且把这两个指标根据混淆矩阵进行了数学化!在信息检索领域的定义:检索出的n个文档中正确结果(m个结果是正确的)的比率即是查准率,即p=n/m;假设在所有的数据中正确结果有n个,一次检索...原创 2018-03-22 12:59:27 · 21645 阅读 · 2 评论 -
深度学习第三讲之防止过拟合提高模型泛化能力
转载请注明出处 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合)。其直观的表现如下图所示,随着训练过程,网络在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大——因为训练出来的网络过拟合了训练集,对训练集外的数据却不work。常见的防止模型过似合的方法有DropOut和正则化,两者中最常用的是后者,te...原创 2018-04-27 15:15:11 · 25938 阅读 · 0 评论 -
深度学习第四讲之特征缩放
转载请注明出处什么是特征缩放 特征缩放其实就是标准化数据特征的范围。 为什么要进行特征缩放 特征缩放可以使得ML方法工作的更好,比如在k-nn的算法中,分类器主要是计算两点之间的欧几里得距离,如果一个feature比其他另外一个feature大超过一个数量级的情况下,那么两者之间的距离就会更大的偏向于这个feature。因此,我们必须对每个feature都进行归一化,...原创 2018-04-27 15:36:18 · 17102 阅读 · 0 评论 -
深度学习第五讲之池化层(Pooling layer)
转载请注明出处 在卷积神经网络中,卷积层之间往往会加上一个池化层。池化层可以非常有效地缩小参数矩阵的尺寸,从而减少最后全连层中的参数数量。使用池化层即可以加快计算速度也有防止过拟合的作用。 在图像识别领域,有时图像太大,我们需要减少训练参数的数量,它被要求在随后的卷积层之间周期性地引进池化层。池化的唯一目的是减少图像的空间大小。池化在每一个纵深维度上独自完成,因此图像的纵深保持不变。池...原创 2018-04-27 15:56:39 · 42528 阅读 · 1 评论 -
深度学习第六讲之批标准化(Batch Normalization)
转载请注明出处batch 是批数据, 把数据分成小批小批进行 stochastic gradient descent. 而且在每批数据进行前向传递 forward propagation 的时候, 对每一层都进行 normalization 的处理在一定范围内,一般来说Batch_Size 越大,其确定的下降方向越准,引起训练震荡越小。盲目增大 Batch_Size 有何好处与坏处...原创 2018-04-27 16:31:00 · 16489 阅读 · 0 评论 -
Spark累加器(Accumulator)使用详解
def accumulator[T](initialValue: T,name: String)(implicit param: org.apache.spark.AccumulatorParam[T]): org.apache.spark.Accumulator[T] 第一个参数应是数值类型,是累加器的初始值,第二个参数是该累加器的命字,这样就会在spark web ui中显示,...原创 2018-05-07 17:04:11 · 28685 阅读 · 4 评论 -
org.elasticsearch.common.util.concurrent.EsRejectedExecutionException 查询超时异常处理记录---一定要用单例模式
elasticsearch client 即TransportClient(最常用的一个实现),一定要使用单例模式,不懂单例模式的自己去学!不用单例模式的代价是残酷的,鄙人作为开发经理,曾被一个二笔开发坑得一塌糊涂,原因就是这个二笔把client封装成了线程池(越是二笔往往越以为自己是大神,鄙人还没几个能自己写线程池的大神)!鄙人下面讲述下事故的过程。鄙认作为工学硕士,自知不才,但鄙人通读luc...原创 2019-04-22 18:43:18 · 21220 阅读 · 4 评论 -
很重要的编码技巧之霍夫曼规则
编码在我们的生活中无处不在,常见的身份证号码、电话号码、物品的分类编码、商品编码等,有的编码只要求排他性即可,但有的编码需要遵循科学的规则。 霍夫曼编码的原理很简单:出现的频次越高,编码越短。这样做的原因是,当初发电文的资源宝贵和昂贵,可以节省资源和成本。现在电话号码的区号,依然遵循了霍夫曼原则,直辖市的通话量大,区号采用了3位数字,其他普通的地区采用了4为,如北京:010,济南:0531...原创 2019-07-02 14:03:44 · 17582 阅读 · 0 评论 -
spark中aggregate函数的应用与问题
aggregate是RDD中比较常用的一个方法,其功能是用户传入的函数进行运算得出结果,属于action动作。先看下此方法声明, def aggregate[U: ClassTag](zeroValue: U)(seqOp: (U, T) => U, combOp: (U, U) => U): U从源码可以看出,aggregate定义的是泛型参数,U是数据类型可以传入任意类型,seqOp是用户传入原创 2018-01-18 17:02:40 · 15868 阅读 · 0 评论 -
关于hadoop中GroupingComparator的作用
reduce方法每次是读一条记录,读到相应的key,但是处理value集合时,处理完当前记录的values后,还会判断下一条记录是不是和当前的key是不是同一个组,如果是的话,会继续读取这些记录的值,而这个记录也会被认为已经处理了,直到记录不是当前组,这次reduce调用才结束,这样一次reduce调用就会处理掉一个组中的所有记录,而不仅仅是一条了。这个有什么用呢?如果不用分组,那么同一组原创 2017-12-14 14:02:52 · 16292 阅读 · 0 评论 -
高性能搜索引擎sphinx源码解析之中文分词和mmseg
注:此文档基于sphinx及mmseg3代码整理,内容可能有疏漏,以后逐步完善术语:待分字符串:中华人民共和国 Chunk:中华,人民,共和国,为一条chunk(词组,item的组合) Item:中华,为一个item Sphinx分词器类包括四种:单字节字符集分词类器CSphTokenizer_SBCS,UTF-8字符集分词器类,N-gram,中文分词类CSphTokenizer_UTF8MM原创 2019-12-12 09:25:44 · 16368 阅读 · 0 评论 -
hadoop-1.2.1完全分布式安装
配置hadoop集群首先选准备3台liunx机器(我用的Ubuntu虚拟机)Ubuntu 还是 Centos 随便192.168.1.101 h1 (准备装成namenode)192.168.1.102 h2 (准备装成datanode)192.168.1.103 h3 (准备装成datanode)首先,联通这3台机子的使用ssh免密钥:我自己使用的都原创 2017-10-10 16:00:12 · 15402 阅读 · 0 评论 -
elasticsearh集群布署与调试
curl 'http://localhost:9200/?pretty' 查看elasticsearch状态一、安装1、安装jdk1.72、安装elasticsearch-1.4.1下载地址:https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1原创 2017-10-10 16:10:03 · 680 阅读 · 0 评论 -
elasticsearch常用操作URL与java实例代码
一、概念1、集群和节点节点(node)是你运行的Elasticsearch实例。一个集群(cluster)是一组具有相同cluster.name的节点集合,他们协同工作,共享数据并提供故障转移和扩展功能,当有新的节点加入或者删除节点,集群就会感知到并平衡数据。集群中一个节点会被选举为主节点(master),它用来管理集群中的一些变更,例如新建或删除索引、增加或移除节点等;当原创 2017-10-10 16:17:38 · 1989 阅读 · 0 评论 -
elasticsearch多级聚合查询
欢迎关注鄙人的公众号号,技术干货随时看!**鄙人的新书《elasticsearch7完全开发指南》,欢迎订阅!**-----https://wenku.baidu.com/view/8ff2ce94591b6bd97f192279168884868762b8e7**《kibana权威指南》**----https://wenku.baidu.com/view/24cfee1...原创 2017-10-10 16:23:07 · 22645 阅读 · 0 评论 -
hanlp源码解析之中文分词算法
欢迎关注鄙人公众号,技术干货随时看!技术交流qq群: 659201069词图词图指的是句子中所有词可能构成的图。如果一个词A的下一个词可能是B的话,那么A和B之间具有一条路径E(A,B)。一个词可能有多个后续,同时也可能有多个前驱,它们构成的图我称作词图。需要稀疏2维矩阵模型,以一个词的起始位置作为行,终止位置作为列,可以得到一个二维矩阵。例如:“他说的确实在理”这...原创 2017-10-10 16:38:53 · 20336 阅读 · 0 评论 -
k-means聚类算法hadoop实现源码
本篇文章只讲可用的hadoop实现算法的源码,可直接拷贝用于工程中!/** * 质点特征模型,可根据自己的业务需求进行修改 * * @author jianting.zhao */public class ParticleModel { //特征x public double x; //特征y public double y; public原创 2017-10-11 09:35:46 · 16980 阅读 · 1 评论 -
hadoop实战之hdfs常用操作工具类
本文是hdfs常用的操作工具类,可直接复用!import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileStatus;import org.apache.hadoop.fs.FileSystem;import org.apache.原创 2017-10-13 11:25:21 · 16427 阅读 · 0 评论 -
深刻理解数据仓库
讨论的问题什么是数据仓库?为什么数据仓库一定要有建模? 数据仓库怎么建模?国内数据仓库常见的失败原因 目前发现的部分问题 数据中心探讨及建议什么是数据仓库?业内普遍接受的定义: 数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的“Building the Data Warehouse”(《建立数据仓库》)一书中所提出的定义被广泛接受——数据仓库(Data War原创 2017-11-14 09:35:36 · 16809 阅读 · 2 评论 -
elasticsearch应用之大数据领域的三个核心问题
如何存储数据 传统的关系型数据库(Mysql,Oracle,Access等),主导了上个世纪的数据存储模式,但当数据量达到PB级,甚至TB级时,关系型数据库表现出了难以解决的瓶颈问题。为了解决海量数据存储和分布式计算问题,Google Lab提出了Map/Reduce 和 Google File System(GFS)解决方案,Hadoop作为其中一个优秀的实现框架迅速得到了业界的认可和广泛应...原创 2019-09-10 16:33:24 · 12119 阅读 · 0 评论