自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 特征选择--信息增益(information gain)--spark实现和优化

【背景】 首先我们先看一下,本期度词条对信息增益的广义定义: 其实,我们主要用到信息增益,还是在特征选择上。个人理解信息增益就是目标列(y)整体信息熵和特征列每一个类别分组下对应目标列信息熵期望的差值,所有在命名时会用到增益。整体来看是y值的整体分布和y值在不同特征类型别下分布累加的差距。依此来衡量变量对目标(y)列的区分度,或者叫纯度。但是信息增益评价指标...

2020-03-26 17:20:28 2124 5

原创 特征选择--信息熵(information entropy)--spark实现和优化

准备了很久,终于开始决定开始写关于机器学习相关的文章。深刻体会刚刚涉足一个新领域时的那种茫然和不知所措,而后在各个大神的文章帮助下渐渐走出了自己的一条路。现在想以分享设计方案的方式回馈技术社区和技术分享平台。虽然,这些不一定是最优的设计方案,希望这些技术方案对正在开发中正在迷惑的你有所帮助。 【背景】 在spark的架构中MLlib的工具库非常的全面,几...

2020-03-25 18:00:49 4189

原创 机器学习顶级论文网站

icml和nipsnips全部论文 :https://papers.nips.cc/icml全部论文 :http://jmlr.org/proceedings/

2019-12-30 17:14:39 1209

原创 spark2.4 sql 快速列去重(冗余列检查)

一直想做一个勤奋的人,笔耕方田,将自己在从事spark开发四年来积累的奇淫巧技分享出来。在给大家提供参考方案的同时也在总结和优化之前的设计。如果在有幸碰到大牛忍不住提出更好的优化方案能从中受益,也不枉码了这么多字。每当设计出一个很好的计算方案,就会忍不住打开博客想分享出来。然后会一直琢磨该以什么样的文字描述出来,想着想着就放弃了。总是想构思一个比较完美的结构段落,结果到最后什么也没...

2019-12-26 14:28:31 2434

原创 spark2.2升级spark2.4遇到的bug

一直以来spark社区是非常活跃的开源社区,版本跟新迭代速度相当的快。有的时候大版本更新时间速度快到怀疑人生,第一次感觉到学习速度跟不上更新速度,是在spark1.6更新到spark2.0,两个版本几乎没有间隔多久。也一度怀疑自己已经老了,吃不动这碗饭了。回归正题,spark官方版本更新速度比较快本身是一件很好的事情,能够快速修复已经提交的bug,新的性能优化方案和技术方向可以很快在新版本上得...

2019-12-24 17:18:59 1605

原创 CDH coludera maven 阿里云,华为云 仓库

大数据生态环境系统,越来越依赖CDH生态。大部分公司都是用CDH来部署大数据生态架构,这种结构是运维的一大福音,但是对于开发确实一个噩梦一样,下载CDH版本的Spark,Hadoop依赖包实在试太慢了了,甚至有可能下载不了。 直接下载国外原厂镜像,很难下载的下来。阿里云maven私服不包含CDH版本spark,hadoop依赖包,在遍历了众多国内镜像后,发现华为...

2019-12-17 20:16:31 2248

转载 Hive锁和事务

关于分区锁和表锁简介有大牛做了中文简单介绍:https://yugouai.iteye.com/blog/1850843hive 官方关于锁的介绍:https://cwiki.apache.org/confluence/display/Hive/Locking...

2019-07-25 13:50:53 698

原创 scikit-learn(GBDT GradientBoostingClassifier)源码解析

损失函数(目标函数)【概述】共支持五个类别六个种类的的损失函数,分别是: 'ls': LeastSquaresError 'lad': LeastAbsoluteError 'huber': HuberLossFunction 'quantile': QuantileLossFunction 'deviance...

2019-07-19 18:09:50 1422

原创 spark-decisionTreeRegressor(DTR回归决策树)源码解析

特征处理获取特征类别【概述】当前部分主要作用时获取 /** * Examine a schema to identify categorical (Binary and Nominal) features. * * @param featuresSchema Schema of the features column. * ...

2019-07-13 00:54:09 1069

原创 spark-GBDTs源码解析(GBDT梯度提升决策树[回归GBTClassifier|分类GBDTRegressor])_(spark_2.2.0)

GBDT算法简介【概述】 GBDT(全称梯度下降树)是集成学习中的其中一种算法。幸运的是spark在MLlib中有相关实现,共有两种实现GBTClassifier,GBDTRegressor。【spark实现计算流程】 1. 若当前实现为GBTClassifier,检查训练集的label是否包含0和1之外的值,如果包含异常退出,否则将0和1转换成-...

2019-07-08 12:01:40 3196 1

原创 spark streaming流式计算---监听器

       随着对spark的了解,有时会觉得spark就像一个宝盒一样时不时会出现一些难以置信的新功能。每一个新功能被挖掘,就可以使开发过程变得更加便利一点。甚至使很多不可能完成或者完成起来比较复杂的操作,变成简单起来。有些功能是框架专门开放给用户使用,有些则是框架内部使用但是又对外暴露了接口,用户也可以使用的功能。     今天和大家分享的是两个监听器SparkListener和stre...

2018-10-30 12:01:15 3251

原创 spark streaming 排错--JVM方法栈溢出

在流式计算过程中,会遇到格式各样的问题。最常见的就是内存溢出,内存溢出又分为两类:堆溢出,栈溢出。对于堆溢出要分两种情况:      1.突然堆溢出,这种情况的处理方案参照spark core对于堆溢出的处理,不做详述。      2.渐进式堆溢出,这种情况有好几种然而对于栈的溢出,也和以上类似,今天不说堆的溢出,专门讲解栈的溢出。1. 渐进式方法栈溢出       这种方...

2018-10-24 02:02:41 1132

原创 spark streaming 流式计算---跨batch连接池共享(JVM共享连接池)

在流式计算过程中,难免会连接第三方存储平台(redis,mysql...)。在操作过程中,大部分情况是在foreachPartition/mapPartition算子中做连接操作。每一个分区只需要连接一次第三方存储平台就可以了。假如,当前streaming有100分区,当前流式计算宫分配了20个cpu,有4个cpu负责接收数据。那么,在一个批次中一共需要对第三方平台创建100次连接,同时最大并行连...

2018-10-24 01:53:23 1635 5

原创 docker---elsasticsearch+head伪分布式搭建

第一步下载镜像elasticsearch:6.4.0,head:5docker pull elasticsearch:6.4.0docker pull mobz/elasticsearch-head:5查看镜像:docker images[root@cm_1 es]# docker imagesREPOSITORY                TAG              ...

2018-10-24 00:49:59 632

原创 spark streaming 流式计算-----容错(hbase幂等性修改)

在做流式计算过程中,最复杂最难做的莫过于数据幂等性修改操作的设计。先解释一下概念【幂等性操作】,幂等性概念来源于数学专业表示对一个表达式做多次相同的操作,表达式不会改变。例如:逻辑回归中的Sigmod函数,n次求导之后依然坚挺。在流式计算中容错设计也要求工程设计有数据幂等性设计,特别针对流式计算中对第三方存储平台的修改操作。以及更加逆天的场景:在一个业务线有多个点有批量的数值修改操作,只要有一个点...

2018-10-18 12:27:33 2170

原创 spark streming流式计算一架构设计

      每一次分享文章都会纠结到底该从哪个地方开始讲起,为了组织语言和文章引体会想很长时间。引体写好后却没有了分享文章的欲望,最后就放弃了要写一篇文章的想法。流式计算技术分享也是想了很久,好几回编辑框都打开了最后还是放弃编写了。今天,终于决定要写一篇关于流式计算数据一致性保证的技术文档。      因为计算延迟和数据量的问题,越来越多的团队将离线批处理任务转化成流式计算任务。在离线任务中不...

2018-10-12 17:31:08 3258

原创 从java到大数据的内存进化

内存管理一直时计算机系统演进一个重要的指标。从最初的单任务,到后来的多任务置换,再到页式内存管理以及段页式管理。每一次变更都对计算机计算性能有很大的提升。同样在大数据计算领域,内存的管理一直是提升计算性能的重要调优热点。无论分布式系统还是java,在内存管理上一致跟随着操作系统在内存管理设计。今天先说说Java的内存管理:“天下大势,分久必合,合久必分!”这句话来形容Java的内存管理很是...

2018-10-12 16:17:57 536

原创 spark sql 内置配置(V2.2)

最近整理了一下spark SQL内置配。加粗配置项是对sparkSQL 调优性能影响比较大的项,小伙伴们按需酌情配置。后续会挑出一些通用调优配置,共大家参考。有不正确的地方,欢迎大家在留言区留言讨论。 配置项 默认值 概述 spark.sql.optimizer.maxIterations 100 sql优化器最大迭代次数 spark.sql.optimizer...

2018-09-25 18:13:06 9497

原创 spark ORC原理

orc历史  ORC的全称是(Optimized Row Columnar),ORC文件格式是一种Hadoop生态圈中的列式存储格式,它的产生早在2013年初,最初产生自Apache Hive,用于降低Hadoop数据存储空间和加速Hive查询速度。orc结构–----hdfs上的物理视图  orc结构----逻辑视图orc存储结构解析    orc文件有如下结构快:b...

2018-09-25 18:09:57 6598

原创 spark-submit --files 动态加载外部资源文件

在做spark时,有些时候需要加载资源文件,需要在driver或者worker端访问。在client模式下可以使用IO流直接读取,但是在cluster模式下却不能直接读取,需要如下代码:val is: InputStream = this.getClass.getResourceAsStream(“./xxx.sql”)val bufferSource = Source.fromInput...

2018-09-20 10:37:59 15182

原创 spark_hive 异常汇总

1.类型匹配失败df.rdd.map({case Row(ab:String,bc:String)=>(ab,bc)}).collect().foreach(println(_))18/08/02 11:39:37 INFO DAGScheduler: ResultStage 0 (collect at SDfd.scala:26) failed in 0.243 s due to ...

2018-08-02 11:47:57 775

原创 spark 布隆过滤器(bloomFilter)

        数据过滤再很多场景都会应用的到,特别实在大数据环境下。在数据量很大的场景实现过滤或者全局去重,需要存储的数据量和计算代价时非常的庞大的。很多小伙伴第一念头肯定会想到布隆过滤器,有一定的精度损失,但是存储性能和计算性能可以达到集合级别的提升。很多第三方框架也实现了相应的功能,比如hbase框架实现的布隆过滤器性能也是非常的棒,redis也可以实现相应的功能。        我们在做流...

2018-05-29 18:31:20 5177 5

原创 spark 资源配置与性能

       在spark开发过程中,会遇到给中各样的问题。主要原因是对spark机制误解导致的。        学习spark之初,走了很多很多弯路。甚至一度对spark官方文档产生了怀疑,最终又回到spark官方文档和源码。比如,最早让我产生怀疑的是executor到底是一个进程还是一个线程。官方表示executor是一个进程,但是在正在运行作业的集群上输入(Linux命令:jps)却没法显示...

2018-05-26 21:07:54 1829

原创 spark性能优化--极致的aggregateBykey

       在spark开发过程中,每一个算子都会影响到整体性能。对于T/p级数据聚合每一个微小的操作,都会使计算时间相差几分钟甚至小时。在计算过程中的一个原则就是尽量少的使用shuffle操作,能合并的shuffle尽量合并。      这两天在开发的时候就犯了一个错误。需求是求出PairRdd中每个key的最大值,最小值,每个key的数量统计。一开使用的的就是最普通的算法,先cache,再求...

2018-04-04 11:21:37 1100

原创 spark性能优化----缓存清除

spark是一款优秀的框架,计算性能相当优异,已经发展成大数据主流计算引擎,在spark开发过程中有很多优化的点。其中去除重复计算是非常重要的。一般操作调用cache/persist,来缓存中间结果,避免重复计算。其中cache是persist的一个特列(cache相当于persist())。persist拥以下几个级别的缓存:NONE 默认配置(不缓存)DISK_ONLY 数据缓存到磁盘,...

2018-01-26 18:11:57 11063

原创 spark graphx实现共同好友的聚合

spark graphx是一款优秀的图计算框架,对于批量计算图计算借助于spark的计算引擎,实现数据的快速聚合。对于最基本的 共同好友推荐可以很方便的实现,一下为实现代码:数据源的数据格式: 1 22 4。。。package mobimport org.apache.spark.graphx.{GraphLoader, VertexRDD}imp

2018-01-20 16:01:11 3071

原创 spark graphx 实现图的一度正反向搜索,二度正反向搜索

通讯录数据,一直是各个app平台的重要数据来源。通讯录组成的图谱关系分析是大数据部门必做的一件事,因为他可以为推荐算法工程师提供更好的数据支持。    图数据存储有很多种方式:    基本的一种方式就是存储到关系型数据仓储中。这种存储方式的优点是,数据仓储模型简单易于实现且对于一度关系查询也很方便。但是对于二度关系则需要自join一次,三度好友分析则需要自join两次,对于多度分析十分消耗

2018-01-20 15:51:38 2472

原创 spark RDD中的partition和hdfs中的block的关系

hdfs是一款非常优秀的分布式文件系统。hdfs为主从架构,主节点为NameNode,主节点负责配合journalNode等完成fsimge完整性。从节点为DataNode,从节点负责存储数据。节点之间通信。。。好吧跑题了! hdfs文件是分布式存储,每个文件根据配置被切分成block(hadoop2.x默认128M)。为了达到容错的目的,根据配置每个block块...

2017-08-29 17:45:19 5699

原创 python时间转换器

时间格式处理一直是一个很繁琐的事情。特别在数据清洗过程中,不同的数据源使用不同的数据格式,处理起来相当麻烦。在无法忍受各种格式的日期处理之后,决定写一个通用的时间处理的工具,和大家分享一下。希望对大家能有所帮助。def timeFormat(found_time): ''' suport unix time(10p,13p) and utc(Accurate to ...

2017-08-14 17:39:13 791

原创 spark core 非实时计算滑动窗口

滑动窗口在数据分析中占据这非常重要的位置,通过spark streaming很容易可以实现滑动窗口的计算,但是在spark core上并行计算却很难实现滑动窗口的操作。即使做出来也是非常不方便。滑动窗口的实现和上一篇文章计算前n项和的编程类似,需要两次遍历数据。

2017-01-23 13:11:23 1020

原创 spark 并行计算 前n项和

在单线程计算中前n项和计算一直没有障碍,随着数据量的膨胀,单线程计算已经无法满足数据计算。计算逐渐被迁移到spark或者hadoop集群上并行计算,但是无论spark还是hadoop并行计算前n项和一直是一个痛点,只能做到每个结点或者容器上的前N项和,却无法做到计算全局前N项和。     现提供一种解决方案,希望大家多多指正。计算过程需要两次便利全部数据。第一次遍历计算每个容器中数据加和结果,

2017-01-18 18:13:17 1718

空空如也

空空如也

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

TA关注的人

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