MeiTuan

Spark学习之路 (十二)SparkCore的调优之资源调优

不想你离开。 提交于 2021-02-14 07:06:44
摘抄自: https://tech.meituan.com/spark-tuning-basic.html 一、概述 在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总之,无论是哪种情况,都会导致Spark作业的运行效率低下,甚至根本无法运行。因此我们必须对Spark作业的资源使用原理有一个清晰的认识,并知道在Spark作业运行过程中,有哪些资源参数是可以设置的,以及如何设置合适的参数值。 二、Spark作业基本运行原理 详细原理见上图。我们使用spark-submit提交一个Spark作业之后,这个作业就会启动一个对应的Driver进程。根据你使用的部署模式(deploy-mode)不同,Driver进程可能在本地启动,也可能在集群中某个工作节点上启动。Driver进程本身会根据我们设置的参数,占有一定数量的内存和CPU core。而Driver进程要做的第一件事情,就是向集群管理器(可以是Spark Standalone集群

React 深入系列5:事件处理

流过昼夜 提交于 2021-02-03 07:33:23
文:徐超,《React进阶之路》作者 授权发布,转载请注明作者及出处 ###React 深入系列5:事件处理 React 深入系列,深入讲解了React中的重点概念、特性和模式等,旨在帮助大家加深对React的理解,以及在项目中更加灵活地使用React。 Web应用中,事件处理是重要的一环,事件处理将用户的操作行为转换为相应的逻辑执行或界面更新。在React中,处理事件响应的方式有多种,本文将详细介绍每一种处理方式的用法、使用场景和优缺点。 使用匿名函数 先上代码: //代码1 class MyComponent extends React.Component { render() { return ( <button onClick={()=>{console.log('button clicked');}}> Click </button> ); } } 点击Button的事件响应函数是一个匿名函数,这应该是最常见的处理事件响应的方式了。这种方式的好处是,简单直接。哪里需要处理事件响应,就在哪里定义一个匿名函数处理。代码1中的匿名函数使用的是箭头函数,我们也可以不使用箭头函数: //代码2 class MyComponent extends React.Component { render() { return ( <button onClick={function()

ICLR 2021 | 美团、上交大等:鲁棒的可微分神经网络搜索DARTS-

旧街凉风 提交于 2021-01-17 14:56:53
©PaperWeekly 原创 · 作者|陆顺 学校|中科院计算所硕士 研究方向|神经网络架构搜索 注:该工作由作者在美团实习期间由初祥祥(美团 Mentor,前小米 AutoML 负责人)指导参与。 论文标题: DARTS-: Robustly Stepping out of Performance Collapse Without Indicators 论文作者: 初祥祥、王晓星、张勃、陆顺、魏晓林、严骏驰 论文链接: https://openreview.net/forum?id=KLH36ELmwIB 彩蛋: 团队正在招聘实习生,详情见 : 美团视觉智能中心实习生招聘 简介 可微分方法(DARTS)是神经网络架构搜索(NAS)中最流行的方法。现有不少方法都致力于解决性能崩塌的问题,从而提升其稳定性。RobustDARTS [1] 提出了用超网的特征根作为判别是否进入崩塌的标志,而我们在本篇工作发现了反例,即在特征根不断增大的情形下,搜索出的模型性能仍在提升。我们受 FairDARTS [2] 中跳跃连接存在不公平竞争优势的启发,使用了一个额外的跳跃链接(auxiliary skip),简单有效地提升了 DARTS 的鲁棒性,且不使用额外的超参数和指示标志。 研究动机 可微分神经网络搜索(DARTS)存在普遍的性能崩塌,现有提升方法使用了先验知识或用指示信号来判别崩塌是否发生

【2021-01-11】JS逆向之美团模拟登入

风格不统一 提交于 2021-01-14 11:00:54
声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! 文章目录 前言 一、页面分析 二、参数分析 三、参数破解 3.1 h5Fingerprint解密 3.2 password解密 总结 前言 又是好久没写文章了,上周在肝易盾的验证码,只解决了无感验证,发现自己还是不太行,需要继续学习呀。 这篇给大家带来的是美团登入接口的加密破解,是一个RSA类型的加密。 网站: https://passport.meituan.com/account/unitivelogin 一、页面分析 进入网页后随便输入账号密码,找到登入的接口 二、参数分析 抓到登入接口后,看看里面的参数,其中 password,csrf,h5Fingerprint 这几个参数比较特殊 然后看看源码里面是否有某些参数,发现源码中有我们需要的csrf参数,其余两个参数是加密的。 三、参数破解 3.1 h5Fingerprint解密 因为h5Fingerprint这个参数比较特殊,我们直接搜这个参数,成功找到加密位置 然后下断点调试,进入 utility.getH5fingerprint 方法,调用了下图的两个函数,再进行或操作,其中Rohr_Opt.reload这个函数比较熟悉,在我这篇 美团美食 文章里有讲过,我们进入这个方法看看是不是一样的 点进去看发现是一个sojson的混淆

速度与压缩比如何兼得?压缩算法在构建部署中的优化

天大地大妈咪最大 提交于 2021-01-11 15:57:07
背景 通常而言,服务发布平台的构建部署的流程(镜像部署除外)会经过 构建 (同步代码 -> 编译 -> 打包 -> 上传)、 部署 (下载包 -> 解压到目标机器 -> 重启服务)等步骤。以美团内部的发布平台 Plus 为例,最近我们发现一些发布项在构建产物打包压缩的过程中耗时比较久。如下图所示的 pack 步骤,一共消耗了1分23秒。 而在平常为用户解答运维问题的时候我们也发现,很多用户会习惯将一些较大的机器学习或者 NLP 相关的数据放入到仓库中,这部分数据往往占据几百兆,甚至占据几个GB的磁盘空间,十分影响打包的速度。 Java 项目也是如此,由于 Java 服务框架繁多,依赖也多,通常这些服务打包后也要占据百兆级别的空间,耗时也会达到十多秒。下图是我们的 pack 步骤的中位数,基本上大部分的 Java 服务和 Node.js 服务都至少要消耗 13s 左右的时间来做压缩打包 。 pack 作为几乎所有需要部署的服务必需步骤,它目前的耗时基本上仅低于编译和构建镜像,因此,为了提高整体构建的效率,我们准备对 pack 打包压缩的步骤进行一轮优化工作。 方案对比 准备场景数据 发布项的包大小分析 为了尽可能地模拟构建部署中的应用场景,我们将 2020 年的部分 构建包数据 进行了整理分析,其中压缩后的包大小如下图所示,钟形曲线说明了整体的包体积呈正态分布

喜讯!美团-清华大数据课程对外开放啦!

对着背影说爱祢 提交于 2021-01-05 18:06:45
开课啦 经过一年的沉淀和打磨,美团技术团队与清华大学电子系合作开设的研究生学分课程——《大数据技术的商业应用与实践》第二次登陆清华大学,于9月24日正式开课。 课程现场十分火爆,116人的阶梯教室座无虚席。选课同学来自清华大学电子系、计算机系、自动化系等29个院系,现场还有很多没有选上课的同学慕名而来,有十几位同学坐在过道上坚持听完。 先来感受一下课程热烈的气氛吧: 在内容方面,结合当前大数据技术应用趋势,今年新增了美团知识图谱 3课时。同时,为加强同学们动手能力,今年也将在大数据平台基础技术方面增设课程实践作业。此外,课程计划面向更多的高校开放,让更多对大数据感兴趣的同学有所收获,感受美团大数据的魅力。 清华与美团共有10位讲师参与到了《大数据技术的商业应用与实践》课程开发与讲授,课程将以大数据获取、存储、分析与挖掘技术作为线索,结合大数据在美团的商业应用与实践,通过课堂理论讲授、商业应用与案例介绍、基于实际系统的课程Project相结合的方式,帮助同学们全面理解和掌握大数据技术及其实际应用。 线上课程直播安排 没法到现场的同学不用遗憾,今年的《大数据技术的商业应用与实践》课程,我们将通过线上视频面向所有同学开放!而且还有特别为听课的同学开设了答疑环节。 请大家添加美美微信(MTDPtech03),回复关键字:0924 进群。我们会在群里发送网课和答疑链接,以及更多课程信息

解决gitLab上新建分支,idea中找不到对应分支问题

别说谁变了你拦得住时间么 提交于 2020-12-05 17:58:27
解决gitLab上新建分支,idea中找不到对应分支问题 参考文章: (1)解决gitLab上新建分支,idea中找不到对应分支问题 (2)https://www.cnblogs.com/meituan/p/11050858.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4438370/blog/4776181

复杂环境下落地Service Mesh的挑战与实践

南笙酒味 提交于 2020-12-04 13:43:31
导读 在私有云集群环境下建设 Service Mesh ,往往需要对现有技术架构做较大范围的改造,同时会面临诸如兼容困难、规模化支撑技术挑战大、推广困境多等一系列复杂性问题。本文会系统性地讲解在美团在落地 Service Mesh 过程中,我们面临的一些挑战及实践经验,希望能对大家有所启发或者帮助。 一、美团服务治理建设进展 1.1 服务治理发展史 首先讲一下 OCTO,此前美团技术团队公众号也分享过很 相关的文章 ,它是美团标准化的服务治理基础设施,现应用于美团所有事业线。OCTO 的治理生态非常丰富,性能及易用性表现也很优异,可整体概括为 3 个特征: 属于公司级的标准化基础设施。技术栈高度统一,覆盖了公司 90% 以上的应用,日均调用量达数万亿次。 经历过较大规模的技术考验。覆盖数万个服务、数十万个节点。 治理能力丰富。协同周边治理生态,实现了 SET 化、链路级复杂路由、全链路压测、鉴权加密、限流熔断等治理能力。 回顾美团服务治理体系的发展史,历程整体上划分为四个阶段: 第一阶段是基础治理能力统一 。实现通信框架及注册中心的统一,由统一的治理平台支撑节点管理、流量管理、监控预警等运营能力。 第二阶段重点提升性能及易用性 。4 核 4GB 环境下使用 1KB 数据进行 echo 测试,QPS 从 2 万提升至接近 10 万,99 分位线 1ms;也建设了分布式链路追踪

Android常用第三方框架记录

妖精的绣舞 提交于 2020-11-19 04:49:08
先记录,万一用到呢 1、腾讯TBS浏览器WebView,避免系统WebView的多坑。 2、智能布局加载更多:SmartRefreshLayout 3、沉浸式布局:ImmersionBar 4、注解:ButterKnife 5、键盘监听:KeyboardHeightProvider 6、滑动TabLayout:SlidingTabLayout 6、音视频播放器:IjkPlayer 7、音视频缓存管理:HttpProxyCacheServer 8、JS连接桥:com.github.lzyzsd:jsbridge 9、权限检测:com.yanzhenjie:permission 10、照片裁减:badgeview 11、桌面应用角标:com.facebook.stetho:stetho 12、地址选择器:com.soundcloud.android:android-crop 13、内存检测:leakcanary 14、图片加载:Fresco(建议使用,加载速度比Glide快,加载动画适配机型比Glide多) 15、Banner:cn.bingoogolapple:bga-banner 16、事件传递:EventBus,Rxbus(如果使用RxJava,建议使用) 17、流式布局:com.github.iwgang:countdownview 18、数据库:GreenDao 19

秋天的第一杯奶茶该买哪家?Python 爬取网红奶茶店告诉你!

人走茶凉 提交于 2020-10-28 12:44:56
点击上方“ 印象python ”,选择“ 星标 ”公众号 重磅干货,第一时间送达! 现在越来越多年轻人手里的那一杯快乐肥宅水,从可乐换成了奶茶。上世纪80年的奶茶并不像现在的奶茶口味繁多,配料多样,而大部分80、90后童年的奶茶只有一个名字,那就是“台湾珍珠奶茶”。只需要一间几平方米的小店,一台手动封杯口机器,几罐不同口味的奶茶粉末,就可以开一家奶茶店。 奶茶起源于中国北方游牧民族,知名于中国台湾。早期的台湾奶茶品牌,如CoCo、50岚、老虎茶等等。前两家CoCo和50岚(现在的1点点)都已经成为中国大陆大型的连锁奶茶店。随着奶茶越来越受大众喜爱,涌现出更多的本土奶茶品牌,如蜜雪冰城、益禾堂。再到如今的网红时代,由于不同奶茶品牌的口味差异不大,如何更好地营销自己的奶茶品牌,让消费者能从众多奶茶中翻到自己的牌子,变得更加重要。例如奈雪的茶主打高端路线,奶茶均价在40元左右;喜茶主打品牌差异化,注重茶饮口感的同时营造店面排长龙的“时尚文化”。 图1 奶茶发展史 1-数据获取 本文数据来源于美团网,抓取了12个热门城市的奶茶店名单,城市包括:北京、上海、广州、深圳、天津、西安、重庆、杭州、南京、武汉、成都和长沙。共计68614家奶茶店,3万多个奶茶品牌。在构建抓取URL时,需要注意将城市的维度具体到城市商圈,因为每个URL最多只显示32页内容,保证抓取每个城市时的数据量是准确的。 #