王振华,趣头条大数据总监,趣头条大数据负责人 曹佳清,趣头条大数据离线团队高级研发工程师,曾就职于饿了么大数据INF团队负责存储层和计算层组件研发,目前负责趣头条大数据计算层组件Spark的建设 范振,花名辰繁,阿里云计算平台EMR高级技术专家,目前主要关注开源大数据技术以及云原生技术. 1. 业务场景与现状 趣头条是一家依赖大数据的科技公司,在2018-2019年经历了业务的高速发展,主App和其他创新App的日活增加了10倍以上,相应的大数据系统也从最初的100台机器增加到了1000台以上规…
Spark机器学习 Day2 快速理解机器学习 有两个问题: 机器学习到底是什么. 大数据机器学习到底是什么. 机器学习到底是什么 人正常思维的过程是根据历史经验得出一定的规律,然后在当前情况下根据这种规律来预测当前的情况下该怎么做,这种过程就是一个机器学习的过程. 我们可以发现,这个过程里有规律和当前的情况.规律就是模型,当前情况就是当前的数据,会根据当前的情况会根据不同的规律来得出不同的结论来驱动下一个行为,就是数据驱动的一种决策方式,这和我们编程用的指令驱动方式是完全不同的. 机器学习是根…
[摘要] external-shuffle-service是Spark里面一个重要的特性,有了它后,executor可以在不同的stage阶段动态改变数量,大大提升集群资源利用率.但是这个特性当前在k8s上并不能很好的运行.让我们来看看,在k8s上要实现这个external-shuffle-service特性的最新进展吧. 如果你想在kubernetes集群中运行Spark任务,那么你可能会对:如何在k8s上运行external-shuffle-service感兴趣.把Driver和Execut…
针对Spark的RDD,API中有一个aggregate函数,本人理解起来费了很大劲,明白之后,mark一下,供以后参考. 首先,Spark文档中aggregate函数定义如下 def aggregate[U](zeroValue: U)(seqOp: (U, T) ⇒ U, combOp: (U, U) ⇒ U)(implicit arg0: ClassTag[U]): UAggregate the elements of each partition, and then the result…
<Python中使用百分号占位符的字符串格式化方法中%s和%r的输出内容有何不同?>老猿介绍了二者的区别,为了快速理解,老猿在此使用另外一种方式补充说明一下: 1.使用%r是调用object类内置方法__repr__方法输出,输出信息Python建议应该是类似debug跟踪的变量信息: 2.使用%s是调用object类内置方法__str__方法输出,输出信息Python建议应该是方便用户理解易懂的友好信息. 具体还可以参考<通俗易懂方式解说Python中repr(变量)和str(变量)函…
Redis Cluster 部署 使用 Bitnami helm chart 在 K8S redis 命名空间中一键部署 Redis cluster . helm repo add bitnami https://charts.bitnami.com/bitnami helm install -n redis staging bitnami/redis-cluster 查看随机生成的 Redis 密码 记住 helm chart deployment 将为 Redis cluster 生成一个随…
k8s 总体概览 前言 Pod 副本控制器(Replication Controller,RC) 副本集(Replica Set,RS) 部署(Deployment) 服务(Service) ingress 节点(Node) 命名空间(Namespace) k8s 中的部署过程 1.创建命名空间 2.使用 deployment 部署 pod 3.为服务创建 service 4.配置 ingress 的转发策略 总结 参考 k8s 总体概览 前言 学习 k8s 之前首先对 k8s 中具体的组件做个…
Kubernetes自身并没有用户管理能力,无法像操作Pod一样,通过API的方式创建/删除一个用户实例,也无法在etcd中找到用户对应的存储对象. 在Kubernetes的访问控制流程中,用户模型是通过请求方的访问控制凭证(如kubectl使用的kube-config中的证书.Pod中引入的ServerAccount)产生的 Kubernetes API的请求从发起到其持久化入库的流程如图:     一.认证阶段(Authentication) 判断用户是否为能够访问集群的合法用户. apis…
自己牺牲了7个月的周末和下班空闲时间,通过研究Spark源码和原理,总结整理的<深入理解Spark:核心思想与源码分析>一书现在已经正式出版上市,目前亚马逊.京东.当当.天猫等网站均有销售,欢迎感兴趣的同学购买.我开始研究源码时的Spark版本是1.2.0,经过7个多月的研究和出版社近4个月的流程,Spark自身的版本迭代也很快,如今最新已经是1.6.0.目前市面上另外2本源码研究的Spark书籍的版本分别是0.9.0版本和1.2.0版本,看来这些书的作者都与我一样,遇到了这种问题.由于研究和…
<深入理解Spark:核心思想与源码分析>一书前言的内容请看链接<深入理解SPARK:核心思想与源码分析>一书正式出版上市 <深入理解Spark:核心思想与源码分析>一书第一章的内容请看链接<第1章 环境准备> 本文主要展示本书的第2章内容: Spark设计理念与基本架构 “若夫乘天地之正,而御六气之辩,以游无穷者,彼且恶乎待哉?” ——<庄子·逍遥游> n  本章导读: 上一章,介绍了Spark环境的搭建,为方便读者学习Spark做好准备.本章…