Apache Spark

程序员都应该了解的日历计法:儒略历、格里历和外推格里历

倖福魔咒の 提交于 2020-04-17 14:04:29
【推荐阅读】微服务还能火多久?>>> 阿里云智能数据库事业部 OLAP 平台团队现向 2021 届海内外院校应届毕业生(毕业时间在2020年11月-2021年10月之间)招聘大数据系统工程师,有机会转正,有意请加 iteblog 微信内推。 文章目录 1 儒略历(Julian calendar) 2 格里历(Gregorian calendar) 2.1 格里历日期与儒略历日期的差距 3 外推格里历(Proleptic Gregorian calendar) 4 和编程的关系 儒略历(Julian calendar) 儒略历,是格里历(Gregorian calendar)的前身,由罗马共和国独裁官儒略·凯撒采纳埃及亚历山大的希腊数学家兼天文学家索西琴尼计算的历法,在公元前45年1月1日起执行,取代旧罗马历历法的历法。一年设12个月,大小月交替,四年一闰,平年365日,闰年于二月底增加一闰日,年平均长度为365.25日。因为1月1日是罗马执政官上任的日期,故其被订为一年的开始日。由于累积误差随着时间越来越大,1582年后由教宗额我略十三世改良,变为格里历,即沿用至今的公历。 如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号: iteblog_hadoop 格里历(Gregorian calendar) 格里历是由意大利医生兼哲学家阿洛伊修斯

spark面试该准备点啥

混江龙づ霸主 提交于 2020-04-16 22:22:01
【推荐阅读】微服务还能火多久?>>> 本文转载自公众号: Spark学习技巧 作者:浪尖 原文链接: https://mp.weixin.qq.com/s/xcQOL2HyNB8Ro7QChu6Ngw 最近很多球友都说在准备面试,不知道准备点啥,尤其是spark,实际上浪尖分享的内容真的都掌握了,应对一般面试绝对没问题,但是遗憾的事情是很多人都是处于不会主动搜集资料,主动梳理知识,主动记忆整理知识,而是伸手要粮的境地。浪尖觉得这个是阻止你成长的罪魁祸手。前天跟朋友聚餐就说道这种情况,不努力,不加班给自己喂粮的,没有足够量和时间积累的人很难在一个领域里有所建树。 主动学习,保持激情,不断提高~ 言归正传,大部分面试者被面试的spark问题估计都会集中于spark core,spark streaming和spark sql,至于mllib和graphx这些估计都是了解项,当然也要逐 来源: oschina 链接: https://my.oschina.net/u/4408053/blog/3236737

MaxCompute规格详解 让您花更低的成本获得更高的业务价值

旧街凉风 提交于 2020-04-16 15:13:35
【推荐阅读】微服务还能火多久?>>> 精彩视频回看请点击: MaxCompute规格详解 以下为精彩视频内容整理: 在用户使用MaxCompute之前,都会考虑成本和业务两大问题。有些企业处在快速的发展期,在业务上对性能的要求比较高,例如计算业务对资源的需求是弹性的,要求峰谷明显,一段时间对资源的要求非常高,另一段时间对资源的要求是比较低的,这种类型属于业务优先于成本。还有一些企业对预算有严格的要求,例如进行合同制的企业,在前期必须要有明确的预算,但对性能的要求不是很高,只需要在当天能够完成任务。基于以上两大场景MaxCompute推出了一系列格和计费方式。 服务模式 MaxCompute服务模式 MaxCompute的服务模式有两种方式,按量计费和包年包月。开通MaxCompute相当于对服务进行注册,同时产生有协议的订单,订单成功后即可使用该服务。按量计费是指整个订单计费模式都为使用之后再按量计费,包括计算、存储、下载几大块主要功能。开通时为0元开通,开通后若不使用则无费用产生。包年包月是指订单计费模式为混合模式,计算资源是按包年包月进行预付费,存储和下载则为使用之后在按量计费。开通时需要预先对计算资源进行付款。 MaxCompute计费方式 MaxCompute费用由三部分组成,存储费用、计算费用和下载费用。 存储费用按存储的数据容量大小进行阶梯计费

Scala函数式编程(六) 懒加载与Stream

无人久伴 提交于 2020-04-16 12:37:33
【推荐阅读】微服务还能火多久?>>> 前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Scala函数式编程(三) scala集合和函数 Scala函数式编程(四)函数式的数据结构 上 Scala函数式编程(四)函数式的数据结构 下 Scala函数式编程(五) 函数式的错误处理 什么时候效率复习最高,毫无疑问是考试前的最后一夜,同样的道理还有寒暑假最后一天做作业最高效。学界有一个定理: deadline是第一生产力 ,说的就是这个事情。 同样的,这个道理完全可以推广到函数式编程中来,而懒加载(scala的lazy关键字)就是这样的东西。 在函数式编程中,因为要维持不变性,故而需要更多的存储空间,这一点在函数式数据结构中有说到。懒加载可以说会在一定程度上解决这个问题,同时通过缓存数据还能提高一些运行效率,以及通过面向表达式编程提高系统的模块化。 这一节先介绍lazy的具体内容,及其好处,然后通过Stream这一数据结构讨论懒加载更多应用场景以及懒加载是如何实现性能优化的。 1.scala懒加载lazy 1.1 什么是懒加载 懒加载,顾名思义就是一个字懒。就像老板让你去干活,刚叫的时候你不会去干,只有等到着急的时候,催你的时候你才会去干。懒加载就是这样的东西。 我们直接用命令行测试下: //右边是一个表达式,这里不是懒加载

8年互联网老兵,2个月面试20家大厂的知识点总结和建议

荒凉一梦 提交于 2020-04-16 11:08:46
【推荐阅读】微服务还能火多久?>>> 本文来自一个8年大数据老兵的面试经历投稿,我完完整整的看了一遍,真的很细很细,疫情期间面试各种失败各种总结,最后拿到Offer实属不易,精神很值得大家学习 前言 我不是什么大牛,我只是一个有八年工作经验的互联网老兵,既没有非常亮眼的学历,也没有牛逼大厂的履历。 这个冬天,在孩子得病从急诊转住院的时候,我得到了年前将被优化的消息,作为家里唯一经济来源的我整个人蒙了,一时间茫然和无助差点毁了我。 最后我还是和家人如实说了,受到了他们的极大的鼓励,也找到了重新开始的勇气。 可惜这场疫情来的如此凶猛,职位少、要求高、电话面试、视频面试、在线coding、屡战屡败、屡败屡战,构成了我这两个月的常规生活。 我一开始也焦虑、茫然,甚至对自己的能力和工作经验深深怀疑。 后来经过几个好朋友的鼓励打气,也看了敖丙的很多面试文章,认真总结自己面试中不足的地方,查漏补缺,终于在这周确定了offer。(这是原话,我真没瞎加哈哈) 接下来我就我之前面过的腾讯、高德、京东、美团、饿了么、快手、字节跳动、滴滴、360金融、跟谁学、网联清算、华晨宝马、快看漫画、陌陌、脉脉等等等公司的面试题做一下总结,权当抛砖引玉,希望对大家有帮忙。 面试问题汇总 基础问题 linux和网络基础 (1)linux系统内核态和用户态是什么,有什么区别? (2)BIO、NIO、AIO都是什么

Kafka 基础知识

萝らか妹 提交于 2020-04-15 16:33:51
【推荐阅读】微服务还能火多久?>>> 1. kafka如何做到高吞吐量的? 采用批处理 。如果一条一条的发消息,假如每条消息需要2毫秒,那么吞吐量不超过1000/2=500条/秒。如果采用批处理,假如此刻累积了100条消息,批处理需要等待一段时间比如8毫秒,加上发送一次的延时是2毫秒,那么一次批处理的时间是10毫秒。平均一条消息的耗时为10/100=0.1毫秒,那么此时的吞吐量为1000/0.1=10000条/秒。性能提升了近20倍。 2. 在kafka内部,是如何支撑起高吞吐/低延时的呢? 每次写入操作,都是先把数据写到操作系统的页缓存上(页缓存是在内存中分配的),然后由操作系统自行决定什么时候把页缓存上的数据写入到磁盘上。 Kafka 不必直接与底层的文件系统打交道。所有烦琐的 I/O 操作都交由操作系统来处理 Kafka 写入操作采用追加写入( append )的方式,避免了磁盘随机写操作。(磁盘的随机读写确实很慢,但是顺序读写却很快) 使用以 sendfile 为代表的零拷贝技术加强网络间的数据传输效率。 3. Topic、分区、副本、消费组、offset Topic: 发送到Kafka的每一条消息都有一个类别,用主题(Topic)来表示。通常,不同应用产生不同类型的数据,可以设置成不同的Topic。 分区: 每个Topic对应若干个分区,对于每个Topic

hhh

為{幸葍}努か 提交于 2020-04-15 07:37:20
【推荐阅读】微服务还能火多久?>>> 勿外传,收到后尽量先保存,最近百度网盘加大了和谐力度。 注:后面项目整理由于项目过多,以合集的形式呈现,如有失效,微信留言给我(资料定期更新,更新通知关注我朋友圈通知) 如有需要其他资料,也是微信给我留言(仅限技术开发类) 最容易上手的 vue2.0 链接: https://pan.baidu.com/s/1tfe4ZonryhhI_bngJcAa1A 提取码: 9fql Vue 的案例开发(入门基础案例) 链接: https://pan.baidu.com/s/1wvaEwNPNlCc2fG2cA16k-g 提取码: qw5s Vue 核心技术加实战精讲 链接: https://pan.baidu.com/s/1WJJX8fd_G5JAD_S25ecERw 提取码: s6go Vue.js 高仿饿了么 APP 开发 链接: https://pan.baidu.com/s/10BSfmGF4GvwrL1jLZoSGJw 提取码: 15ct Vue+node.js+mongodb 全栈打造商城系统(经典的 vue 全栈开发) 链接: https://pan.baidu.com/s/1u8viX-0xSVkXw7RAhBiRhg 提取码: 1eo9 开发资源工具包 链接: https://pan.baidu.com/s/1e0K

机器学习平台Goblin在网易云音乐的实践

爷,独闯天下 提交于 2020-04-13 13:41:45
【今日推荐】:为什么一到面试就懵逼!>>> 机器学习与容器化平台 愿景 算法同学爽、工程任务开心、技术快速复用,干完战,早点下班。总结了一下具体包括以下几个方面: 开发流程标准化 针对开发者,尤其是新人能够快速进入到开发工作中来, 前提是需要一套比较完善、合理的开发流程,将可能的开发工作流程集中在平台当中,在此基础上完成开发流程的标准化管控, 和军队培训战士一样, 我们从广大人民群众中,选择了最优秀的那一批同学,来到我们的团队,从内务教令、文化教育、长途越野跑、基础实战能力,到最后的兵王,一定是有一套特别完善的标准化流程,Goblin就想做这样的"军队"试验场,将人才的培养、项目开发上线,流程化、标准化,赋能给技术团队,让"新兵"得到最好的实践锻炼,"兵王"打好战; 能力接受与放大器 在大数据、算法团队中,其实很难评估开发人员本身的工作,最近在看一本书, 其中提到针对一个推荐系统产品,有4个关键元素需要注意: 1. UI和UE;2.数据;3.领域知识;4.算法,其权重是1>2>3>4,1和3是"颜值即正义"、"老天赏饭吃", 2、4是我们开发者需要关注的,而对数据、算法,最难的其实是目标的定制,如何评估一个数据任务、大数据产品、算法模型有价值,需求方说好就一定好?指标升了就一定好?这个不一定,而这也是数据相关从业人员很有挑战的方面,而作为内部平台,算法、工程人员前方打战

tensorflow怎么做个性推荐?

耗尽温柔 提交于 2020-04-12 16:35:03
个性推荐算法说的很多了,常用的模型是: U*V= Q 其中Q是评分表,一般共3列:用户id,物品id,评分值 U是用户特征表,V是物品特征表。 算法的最终目标就是从Q算出U和V。那么Spark Mllib里有ALS算法可以做矩阵分解,其基本原理是最小交叉二乘法,用到了Breeze库的矩阵函数库。所谓交叉二乘就是轮流固定U或V,来算出V或U。比如第一轮固定U,来算出V,第二轮固定算出的V,来算出U。直到最后误差收敛。 Spark里主要是用RDD框架来对数据分块计算,达到并行的特点。 而Tensorflow里用深度学习的方法来实现矩阵分解就更简便了,其基本原理是根据U*V和Q的差值来自动优化,深度学习的特点就是只要你搭建好了学习模型,那么只要自动训练就可以找到最优解,因此实现起来也很方便。 TensorFlow的代码可以参考如下。 1、 收集原始数据 import pandas as pd import numpy as np import tensorflow as tf # 第一步:------------------------收集和清洗数据 ratings_df = pd.read_csv('F:\Machine\data_sets\ml-latest-small/ratings.csv') # print(ratings_df.tail()) #

用Spark学习矩阵分解推荐算法

风流意气都作罢 提交于 2020-04-12 16:34:46
转/ 宽客在线 在矩阵分解在协同过滤推荐算法中的应用中,我们对矩阵分解在推荐算法中的应用原理做了总结,这里我们就从实践的角度来用Spark学习矩阵分解推荐算法。 1.Spark推荐算法概述 在Spark MLlib中,推荐算法这块只实现了基于矩阵分解的协同过滤推荐算法。而基于的算法是FunkSVD算法,即将m个用户和n个物品对应的评分矩阵M分解为两个低维的矩阵: 其中k为分解成低维的维数,一般远比m和n小。如果大家对FunkSVD算法不熟悉,可以复习对应的原理篇。 2.Spark推荐算法类库介绍 在Spark MLlib中,实现的FunkSVD算法支持Python,Java,Scala和R的接口。由于前面的实践篇我们都是基于Python,本文的后面的介绍和使用也会使用MLlib的Python接口。Spark MLlib推荐算法python对应的接口都在pyspark.mllib.recommendation包中,这个包有三个类,Rating,MatrixFactorizationModel和ALS。虽然里面有三个类,但是算法只是FunkSVD算法。 下面介绍这三个类的用途。Rating类比较简单,仅仅只是为了封装用户,物品与评分这3个值。也就是说,Rating类里面只有用户,物品与评分三元组,并没有什么函数接口。ALS负责训练我们的FunkSVD模型