Apache Spark

Flink 消息聚合处理方案

可紊 提交于 2020-12-12 13:54:08
微博机器学习平台使用 Flink 实时处理用户行为日志和生成标签,并且在生成标签后写入存储系统。 为了降低存储系统的 IO 负载,有批量写入的需求,同时对数据延迟也需要进行一定的控制,因此需要一种有效的消息聚合处理方案。 在本篇文章中我们将详细介绍 Flink 中对消息进行聚合处理的方案,描述不同方案中可能遇到的问题和解决方法,并进行对比。 基于 flatMap 的解决方案 这是我们能够想到最直观的解决方案,即在自定义的 flatMap 方法中对消息进行聚合,伪代码如下: 对应的作业拓扑和运行状态如下: 该方案的优点如下: 逻辑简单直观,各并发间负载均匀。 flatMap 可以和上游算子 chain 到一起,减少网络传输开销。 使用 operator state 完成 checkpoint,支持正常和改并发恢复。 与此同时,由于使用 operator state,因此所有数据都保存在 JVM 堆上,当数据量较大时有 GC/OOM 风险。 使用 Count Window 的解决方案 对于大规模 state 数据,Flink 推荐使用 RocksDB backend,并且只支持在 KeyedStream 上使用。与此同时,KeyedStream 支持通过 Count Window 来实现消息聚合,因此 Count Window 成为第二个可选方案。 由于需要使用 KeyedStream

Flink 消息聚合处理方案

时间秒杀一切 提交于 2020-12-12 13:53:53
微博机器学习平台使用 Flink 实时处理用户行为日志和生成标签,并且在生成标签后写入存储系统。 为了降低存储系统的 IO 负载,有批量写入的需求,同时对数据延迟也需要进行一定的控制,因此需要一种有效的消息聚合处理方案。 在本篇文章中我们将详细介绍 Flink 中对消息进行聚合处理的方案,描述不同方案中可能遇到的问题和解决方法,并进行对比。 基于 flatMap 的解决方案 这是我们能够想到最直观的解决方案,即在自定义的 flatMap 方法中对消息进行聚合,伪代码如下: 对应的作业拓扑和运行状态如下: 该方案的优点如下: 逻辑简单直观,各并发间负载均匀。 flatMap 可以和上游算子 chain 到一起,减少网络传输开销。 使用 operator state 完成 checkpoint,支持正常和改并发恢复。 与此同时,由于使用 operator state,因此所有数据都保存在 JVM 堆上,当数据量较大时有 GC/OOM 风险。 使用 Count Window 的解决方案 对于大规模 state 数据,Flink 推荐使用 RocksDB backend,并且只支持在 KeyedStream 上使用。与此同时,KeyedStream 支持通过 Count Window 来实现消息聚合,因此 Count Window 成为第二个可选方案。 由于需要使用 KeyedStream

Flink 消息聚合处理方案

醉酒当歌 提交于 2020-12-12 13:32:31
微博机器学习平台使用 Flink 实时处理用户行为日志和生成标签,并且在生成标签后写入存储系统。为了降低存储系统的 IO 负载,有批量写入的需求,同时对数据延迟也需要进行一定的控制,因此需要一种有效的消息聚合处理方案。 在本篇文章中我们将详细介绍 Flink 中对消息进行聚合处理的方案,描述不同方案中可能遇到的问题和解决方法,并进行对比。 基于 flatMap 的解决方案 这是我们能够想到最直观的解决方案,即在自定义的 flatMap 方法中对消息进行聚合,伪代码如下: 对应的作业拓扑和运行状态如下: 该方案的优点如下: 逻辑简单直观,各并发间负载均匀。 flatMap 可以和上游算子 chain 到一起,减少网络传输开销。 使用 operator state 完成 checkpoint,支持正常和改并发恢复。 与此同时,由于使用 operator state,因此所有数据都保存在 JVM 堆上,当数据量较大时有 GC/OOM 风险。 使用 Count Window 的解决方案 对于大规模 state 数据,Flink 推荐使用 RocksDB backend,并且只支持在 KeyedStream 上使用。与此同时,KeyedStream 支持通过 Count Window 来实现消息聚合,因此 Count Window 成为第二个可选方案。 由于需要使用 KeyedStream

CentOS7安装CDH 第四章:CDH的版本选择和安装方式

百般思念 提交于 2020-12-12 06:42:34
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 CentOS7安装CDH 第四章:CDH的版本选择和安装方式 CentOS7安装CDH 第五章:CDH的安装和部署-CDH5.7.0 CentOS7安装CDH 第六章:CDH的管理-CDH5.12 CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置 CentOS7安装CDH 第八章:CDH中对服务和机器的添加与删除操作 CentOS7安装CDH 第九章:CDH中安装Kafka CentOS7安装CDH 第十章:CDH中安装Spark2 CentOS7安装CDH 第十一章:离线升级CDH版本 CentOS7安装CDH 第十二章:YARN的资源调优 CentOS7安装CDH 第十三章:CDH资源池配置 CentOS7安装CDH 第十四章:CDH的优化 1. CDH版本选择 CDH版本选择:建议5.4.8和5.8.0版本,如需要版本较高可以选择5.12版本,目前6.x版本还没有使用过,请注意,千万不要选择5.11.0版本。 在CDH5版本中,JDK一般安装为JDK8,还需要安装python环境,可以选择python2.6.X或者python2.7.x都可以。 2.

28岁华为员工工资表曝光,牛逼的人注定会牛逼

二次信任 提交于 2020-12-12 00:41:48
前两天,一位前华为的朋友,在他的朋友圈晒出了他一年前,在华为工作时候的工资表。 同样20来岁的年纪,为什么人家可以年入百万,一个项目奖金就比得上别人一年的工资? 需要知道,在职场中越往上走,拼得越不是技术,而是能力。 华为始终贯彻“以项目为中心”,项目管理能力被认为是华为的最核心竞争力。在华为,有能力做好项目的员工自然收入更高。 事实上不只华为,几乎所有行业,都稀缺独当一面的项目管理人才。 据新华社报道:到2027年,中国的项目管理职位空缺将达到 4600万 。 如果现在, 仅需0.01元 ,清华资深项目管理名师,手把手带你入门, 每年多赚20万 ,你来不来? 立即加入—— PMP项目管理训练营 18节项目管理课+1场项目规划直播课 3场干货分享+5天社群服务 原价399元 现在仅需0.01元 长按下方二维码 先人一步抢名额 ▼ (不用发朋友圈,不用集赞,直接听课) 你能收获 1.理论与实操相结合,无缝对接工作场景,学完就能用 清华名师 手把手教学,0基础也能学会,轻松解决工作难题。 2.收获一项受用终身的项目管理知识体系 从全局角度思考问题,从 项目的启动到收尾 规范流程,过程更清晰。 3.超过90%同龄人,多一个年薪百万的职业选择 为什么学习项目管理 除了 薪资高 、 人才缺口巨大 之外, 项目管理的 应用 不受行业限制 ,是有效整合资源、高效实现目标的一套管理方法和知识体系。

Spark-submit执行流程,了解一下

守給你的承諾、 提交于 2020-12-11 17:59:33
摘要 :本文主要是通过Spark代码走读来了解spark-submit的流程。 1.任务命令提交 我们在进行Spark任务提交时,会使用“spark-submit -class .....”样式的命令来提交任务,该命令为Spark目录下的shell脚本。它的作用是查询spark-home,调用spark-class命令。 if [ -z "${SPARK_HOME}" ]; then source "$(dirname "$0")"/find-spark-home fi # disable randomized hash for string in Python 3.3+ export PYTHONHASHSEED=0 exec "${SPARK_HOME}"/bin/spark-class org.apache.spark.deploy.SparkSubmit "$@" 随后会执行spark-class命令,以SparkSubmit类为参数进行任务向Spark程序的提交,而Spark-class的shell脚本主要是执行以下几个步骤: (1)加载spark环境参数,从conf中获取 if [ -z "${SPARK_HOME}" ]; then source "$(dirname "$0")"/find-spark-home fi . "${SPARK_HOME}"/bin

大数据开发工程师-----职位要求(网上招聘查找)

情到浓时终转凉″ 提交于 2020-12-11 13:36:14
一、 java开发工程师(大数据方向) 职位类别: Java开发工程师 岗位职责: 1、参与大数据平台的设计与开发,解决海量数据面临的挑战; 2、管理、优化并维护 Hadoop、Spark等集 群,保证集群规模持续、稳定; 3、负责 HDFS/hive/HBase的功能 、性能和扩展,解决并实现业务需求; 4、协助团队成员建立数据模型,对 数据进行挖掘、优化及统计 。 任职要求: 1、本科生及以上学历,2年及以上互联网系统或者其他企业应用系统开发相关经验; 2、具备Java开发经验, Java编程基础 扎实,熟练使用 struts2、spring、ibatis或hibernate等框架 ; 3、有 分布式系统开发 经验; 3、熟悉 Hadoop/HBase/Spark/Storm/Hive ,熟悉 数据挖掘策略 与 算法 者优先; 4、数据控,善于发现问题、解决问题,具备良好的分析和解决问题的能力,具备一定的钻研精神和持续学习的意愿,强烈的责任感和团队感,对负有挑战性的工作充满热情 二、 大数据开发工程师 职位类别: 软件工程师 岗位职责: 1、开发大数据的 数据接入、数据存储及管理系统 2、负责大数据的 维度分解 及 统计汇报 3、 梳理 并 维护 大数据及 汇总 工作 4、设计并参与开发大数据服务系统。 任职要求: 1、精通java开发,熟悉 JVM 及 java常用包 2

机器学习项目实操指南

我们两清 提交于 2020-12-11 10:39:29
点击关注“OPPO互联网技术”,阅读更多技术干货 有的人可以徒手推导机器学习算法公式,可以深入源码了解算法的实现,又或者在Kaggle比赛中获得不错的名次,但在实际的项目中却走得“步履蹒跚”,究其根本原因是机器学习知识体系还不完善。 例如OPPO的用户兴趣标签生产系统中,需要考虑的问题有:如何做好特征工程、如何获取高质量的正负样本、怎样处理不平衡数据集、确定怎样的评估方式、选择什么算法、如何调参、解释模型。 算法直接相关的经验是最容易从书本或网上获取的,其他的则跟自身业务联系紧密,网上相关分享较少,这方面的经验知识获取相对难一些,一般都是靠项目实操积累起来。更不幸的是,这些不好获取的经验知识在现阶段项目中又是最重要的——相比于算法选择与调参,对建模数据集的优化获得的增益大的多。 本文将结合标签项目来分享一些实操经验,文章分为两大部分:第一部分介绍通用模块,包括特征工程、构建评测集、确定评估方式;第二部分介绍与算法相关的模块,包括算法选择、特征处理、调参(spark和sklearn平台)、模型解释。 1. 特征、样本工程 1.1 特征工程 特征工程主要包括: 特征使用方案 基于业务尽可能从有关的数据源提取特征,以及对这些特征的可用性评估(覆盖率、准确率等)。 特征获取方案 主要考虑如何获取和存储特征。 特征监控 监控重要特征,防止特征质量下滑影响模型。 特征处理

应对万亿数据上亿并发!字节跳动的图数据库研发实践

穿精又带淫゛_ 提交于 2020-12-11 10:21:36
作者:字节跳动技术团队 技术架构团队来源:字节跳动技术团队 【责任编辑:未丽燕 TEL:(010)68476606】 https://database.51cto.com/art/202012/633379.htm 一、图状结构数据广泛存在 字节跳动的所有产品的大部分业务数据,几乎都可以归入到以下三种: 用户信息、用户和用户的关系(关注、好友等); 内容(视频、文章、广告等); 用户和内容的联系(点赞、评论、转发、点击广告等)。 这三种数据关联在一起,形成图状(Graph)结构数据。 为了满足 social graph 的在线增删改查场景,字节跳动自研了分布式图存储系统——ByteGraph。针对上述图状结构数据,ByteGraph 支持有向属性图数据模型,支持 Gremlin 查询语言,支持灵活丰富的写入和查询接口,读写吞吐可扩展到千万 QPS,延迟毫秒级。目前,ByteGraph 支持了头条、抖音、 TikTok、西瓜、火山等几乎字节跳动全部产品线,遍布全球机房。在这篇文章中,将从适用场景、内部架构、关键问题分析几个方面作深入介绍。 ByteGraph 主要用于在线 OLTP 场景,而在离线场景下,图数据的分析和计算需求也逐渐显现。2019 年年初,Gartner 数据与分析峰会上将图列为 2019 年十大数据和分析趋势之一,预计全球图分析应用将以每年 100% 的速度迅猛增长

腾讯云CES自动化运维架构及最佳实践

一曲冷凌霜 提交于 2020-12-11 06:55:21
主题: 腾讯云CES自动化运维架构及最佳实践 大纲: 1. 如何看待“运维”在公司的定位和未来的发展方向 2. 做好自动化运维架构需要关注哪些方面 3. 运维岗位必备技能 4. 提效处理故障方面的建议 5. 腾讯云CES方面的运维架构有哪些独到之处 听说3306π要搞事情了 是啊,马上要搞3306π深圳站了 啊,是吗?哪天啊,在哪里办,怎么报名? 12月19日 ,就在 深圳南山区海岸城 ,点文末的原文链接或者扫描二维码就可以报名了,一起来吹吹牛逼。 嘉宾自我介绍 李明 高级运维工程师 曾先后在携程、华为云等公司从事多年MySQL DBA的工作,目前在腾讯负责腾讯云Elasticsearch,CTSDB产品的运维工作。对于ES、CTSDB在日志分析、大数据搜索、时序分析等场景的使用有丰富的实践经验。 01 李老师,很多人都在谈脱离传统运维模式,更好的帮助业务前行。您是如何看待“运维”在公司的定位和未来的发展方向呢? 运维作为一个比较传统的岗位,在当前大量中小企业都拥抱上云或自动化程度越来越 高 的背景下,其工作的定位的却是受到了一些影响,以前需要专业运维来部署的一些环境,现在并不是那么需要了,但这并不意味着运维岗位的生存将受到很大的影响。 只是对运维人员提出了更高的要求,一方面需要运维人员对所服务的产品本身的特性,要相对开发人员有更深的认识,从而指导其更开发出更专业的产品