5 Jiede1

尚未进行身份认证

专注与数据挖掘和人工智能 Github: https://github.com/Jiede1

等级
TA的排名 1w+

深度学习推荐系统 学习笔记--Chapter 1

深度学习推荐系统 学习笔记本系列为笔者阅读《深度学习推荐系统》一书的读书笔记。将书读薄,是进步的第一步导言不同的商业化场景对推荐系统的优化目标不一样,比如,电商场景需要更高的购买转化率(CVR),新闻类场景需要更高的点击率,视频类需要更高的观看时长(比如,YouTube就是)推荐系统模块推荐系统主要分为两个部分,数据部分和模型部分。数据部分主要涉及到“用户”,“物品”,“场景”信息的收取,并且需要数据经历离线,准实时,实时的处理,其处理结果作为推荐系统模型部分的输入(这里指的输入是

2020-05-13 16:50:54

Spark DataFrame算子使用与窗口函数

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2020-05-05 14:16:46

Spark Shuffle问题高级调优

数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。数据倾斜发生时的现象绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩余两三个task却要一...

2020-03-13 17:38:20

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

Spark内核剖析4---Master主备切换机制

Spark Master主备切换主要有两种机制,之中是基于文件系统,一种是基于Zookeeper.基于文件系统的主备切换机制需要在Active Master挂掉后手动切换到Standby Master上,而基于Zookeeper的主备切换机制可以实现自动切换Master。切换流程图流程说明:Standby Master模式使用持久化引擎读取持久化的storeApps、storeD...

2020-02-29 15:45:47

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

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

如何为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

Scala的implicit

scala语言是纯粹面向对象的语言,对象化的程度比Java更深,其中有个特质是比较特别的–implicit,用于隐式转换和隐式参数。下面为其介绍。隐式参数:把一些变量声明为隐式参数,把一些方法的参数声明为可以支持隐式参数的,当调用方法时,如果没有传递该参数,那么可以去使用隐式参数。隐式转换:首先提供一些类型转换的能力(通过隐式类和隐式方法),然后在调用某些方法时,当某些对象的类型不...

2019-12-06 11:31:24

Arango入门Java实现读写

Arango是开源的图数据库,笔者最近正在学习,写了一段Java入门代码代码基于arango官网提供的flights,airports数据,即飞机航线的关系图。笔者参考ArangoDB简单实例介绍,实现了数据导入和AQL操作,顺便写了下段代码,实现数据库的读写操作。/** * Title: FirstProject.java* Description: * Copyright:...

2019-11-05 23:15:15

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 12:30:01

记--结合业务从零实现一个推荐系统

有空再写

2019-07-30 00:00:49

[Python造轮子]从零实现一个类关系型数据库

前言进入IT这一行也有几个年头了,该听闻的技术,大都没有遗漏,所以广度上的扩展,不太急迫了,但深度上的扩展,还有很多要做的工作,所以就觉得从 “造轮子” 这方面切入,慢慢扩展自己的深度了。借助于实现一个数据库,笔者主要的目的有三个:1.深入了解一个数据库的底层原理,以及要从零实现的话,要包含哪些模块,如何实现2.这次实现的数据库是玩具级别的,几乎不需要测试我就能知道其具有非常多的缺陷,性...

2019-03-31 12:40:53

深入浅出数据库索引原理

看到一篇讲述数据库原理非常好的文章,无耻的转载了。转载地址在文章尾。前段时间,公司一个新上线的网站出现页面响应速度缓慢的问题, 一位负责这个项目的但并不是搞技术的妹子找到我,让我想办法提升网站的访问速度 ,因为已经有很多用户来投诉了。我第一反应觉的是数据库上的问题,假装思索了一下,摆着一副深沉炫酷的模样说:“是不是数据库查询上出问题了, 给表加上索引吧”,然后妹子来了一句:“现在我们网站访...

2019-03-09 10:21:52

为什么spark中只有ALS

前言spark平台推出至今已经地带到2.1的版本了,很多地方都有了重要的更新,加入了很多新的东西。但是在协同过滤这一块却一直以来都只有ALS一种算法。同样是大规模计算平台,Hadoop中的机器学习算法库Mahout就集成了多种推荐算法,不但有user-cf和item-cf这种经典算法,还有KNN、SVD,Slope one这些,可谓随意挑选,简繁由君。我们知道得是,推荐系统这个应用本身并没有过时...

2019-02-22 18:56:44

Single Number II leetcode java

在做下面这道题的时候,很可耻的使用了HashMap来AC了,但查到网上思路完全不是这样,一看题解,原来这道题还是有学问的,特记录下。题目:Given an array of integers, every element appears three times except for one. Find that single one.Note:Your algorithm should h...

2019-01-24 23:15:11

Spark的GPU支持方法研究

引言:工作以来研究了一段时间的Spark利用GPU进行异构加速训练的的研究。下文是整理了网上一些常见的Spark结合GPU使用的方法。为了使用Spark进行机器学习,支持GPU是必须的,上层再运行神经网络引擎。目前AWS\GCP和Databricks的云都已经支持GPU的机器学习,AliYun也在实验之中。这包括几个层次:GPU直接支持Spark。因为Spark是多线程的,而GPU往往只能...

2018-12-22 17:54:32

LeetCode25 以k为一组,反转链表

[LeetCode25] Reverse Nodes in k-Group 每k个一组翻转链表ven a linked list, reverse the nodes of a linked list k at a time and return its modified list.k is a positive integer and is less than or equal to th...

2018-12-06 11:18:01

LeetCode(17) - Letter Combinations of a Phone Number

经典的backtracking(回溯算法)的题目。当一个题目,存在各种满足条件的组合,并且需要把它们全部列出来时,就可以考虑backtracking了。当然,backtracking在一定程度上属于穷举,所以当数据特别大的时候,不合适。而对于那些题目,可能就需要通过动态规划来完成。递归解法这道题的思路很简单,假设输入的是"23",2对应的是"abc",3对应的是"edf",那么我们在递归时,先...

2018-11-25 12:47:50

2Sum Ksum解法

2Sum题目Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use th...

2018-11-24 00:49:33

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。