
大数据
Jiede1
专注与数据挖掘和人工智能
Github: https://github.com/Jiede1
展开
-
Spark Shuffle问题高级调优
数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。数据倾斜发生时的现象绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩余两三个task却要一...转载 2020-03-13 17:38:20 · 1121 阅读 · 0 评论 -
Spark底层原理---Spark宽依赖和窄依赖深度剖析
RDD依赖关系与stage划分Spark中RDD的高效与DAG图有着莫大的关系,在DAG调度中需要对计算过程划分stage,而划分依据就是RDD之间的依赖关系。1. 窄依赖与宽依赖针对不同的转换函数,RDD之间的依赖关系分为窄依赖(narrow dependency)和宽依赖(wide dependency,也成shuffle dependency)。1.1 窄依赖窄依赖是指1个父RDD...转载 2020-03-02 23:25:37 · 973 阅读 · 0 评论 -
Spark内核剖析4---Master主备切换机制
Spark Master主备切换主要有两种机制,之中是基于文件系统,一种是基于Zookeeper.基于文件系统的主备切换机制需要在Active Master挂掉后手动切换到Standby Master上,而基于Zookeeper的主备切换机制可以实现自动切换Master。切换流程图流程说明:Standby Master模式使用持久化引擎读取持久化的storeApps、storeD...转载 2020-02-29 15:45:47 · 229 阅读 · 0 评论 -
Spark内核剖析2---Spark yarn client/cluster模式提交任务流程
在Spark内核剖析1—Spark standalone模式提交任务过程中描述了spark的standalone提交模式的主要细节,这是spark最经典的模式。但一般在生产中,使用的都是yarn-client或yarn-cluster模式,下文主要描述其原理。Yarn-cluster模式这里的ResourceManager相当于standalone的master,NodeManager相...原创 2020-02-22 12:59:49 · 511 阅读 · 0 评论 -
Spark内核剖析1---Spark standalone模式提交任务过程
standalone 模式Spark standalone模式是spark很常见的一种模式,集群角色分为Master,Worker,Driver三个端。Master端是集群的大脑,负责协调,分配资源给worker。Worker端是集群“办事的人”,主要接受Master的调度,以及driver端传来的task的执行。Driver端是指提交spark-submit的服务器,主要会将提交的程序...原创 2020-02-13 14:41:55 · 253 阅读 · 0 评论 -
如何为Spark集群配置–num-executors, – executor-memory和–execuor-cores
前言在我们提交spark进程时,应该如何为Spark集群配置–num-executors, - executor-memory和–execuor-cores 呢?一些资源参数设置的基本知识Hadoop / Yarn / OS Deamons 当我们使用像Yarn这样的集群管理器运行spark应用进程时,会有几个守护进程在后台运行,如NameNode,Secondary NameNod...转载 2020-01-02 09:34:11 · 2527 阅读 · 0 评论 -
Scala的implicit
scala语言是纯粹面向对象的语言,对象化的程度比Java更深,其中有个特质是比较特别的–implicit,用于隐式转换和隐式参数。下面为其介绍。隐式参数:把一些变量声明为隐式参数,把一些方法的参数声明为可以支持隐式参数的,当调用方法时,如果没有传递该参数,那么可以去使用隐式参数。隐式转换:首先提供一些类型转换的能力(通过隐式类和隐式方法),然后在调用某些方法时,当某些对象的类型不...转载 2019-12-06 11:31:24 · 189 阅读 · 0 评论 -
Arango入门Java实现读写
Arango是开源的图数据库,笔者最近正在学习,写了一段Java入门代码代码基于arango官网提供的flights,airports数据,即飞机航线的关系图。笔者参考ArangoDB简单实例介绍,实现了数据导入和AQL操作,顺便写了下段代码,实现数据库的读写操作。/** * Title: FirstProject.java* Description: * Copyright:...原创 2019-11-05 23:24:24 · 668 阅读 · 0 评论 -
Spark常用RDD算子总结
spark的算子比较多,但只有部分是常用的,特此记录下来,如需补充更多算子,请在评论留言。常见RDD算子(非Key-Vaue型)mapmap作用在RDD分区的每一个元素上scala> val nums=sc.parallelize(List(1,2,3))nums: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[...原创 2019-10-07 15:46:58 · 912 阅读 · 0 评论 -
记--结合业务从零实现一个推荐系统
有空再写原创 2019-07-30 00:00:49 · 1484 阅读 · 0 评论 -
深入浅出数据库索引原理
看到一篇讲述数据库原理非常好的文章,无耻的转载了。转载地址在文章尾。前段时间,公司一个新上线的网站出现页面响应速度缓慢的问题, 一位负责这个项目的但并不是搞技术的妹子找到我,让我想办法提升网站的访问速度 ,因为已经有很多用户来投诉了。我第一反应觉的是数据库上的问题,假装思索了一下,摆着一副深沉炫酷的模样说:“是不是数据库查询上出问题了, 给表加上索引吧”,然后妹子来了一句:“现在我们网站访...转载 2019-03-09 10:21:52 · 182 阅读 · 0 评论 -
Spark的GPU支持方法研究
引言:工作以来研究了一段时间的Spark利用GPU进行异构加速训练的的研究。下文是整理了网上一些常见的Spark结合GPU使用的方法。为了使用Spark进行机器学习,支持GPU是必须的,上层再运行神经网络引擎。目前AWS\GCP和Databricks的云都已经支持GPU的机器学习,AliYun也在实验之中。这包括几个层次:GPU直接支持Spark。因为Spark是多线程的,而GPU往往只能...转载 2018-12-22 17:54:32 · 5940 阅读 · 0 评论 -
python3解决位移溢出
在观看该文章前,读者先可以看看这篇文章,清晰明了的介绍了位移的操作:https://www.cnblogs.com/yx729315991/p/6387711.html因为要将js的一个签名算法移植到python上,遇到一些麻烦。int无限宽度,不会溢出算法中需要用到了32位int的溢出来参与运算,但是python的int是不会溢出的,达到界限后会自己转为long,所以很麻烦。#使用-34...转载 2018-11-19 17:13:17 · 3147 阅读 · 0 评论 -
Flume拦截器---实现按照时间生成数据目录
Flume中的拦截器(interceptor),当Source读取events发送到Sink的时候,在events header中加入一些有用的信息,或者对events的内容进行过滤,完成初步的数据清洗。这在实际业务场景中非常有用,Flume-ng 1.7中目前提供了以下拦截器:Timestamp Interceptor;Host Interceptor;Static Interceptor...转载 2018-10-27 23:54:42 · 2749 阅读 · 0 评论