关于大数据处理:从繁琐到一键直达秒验助力实现优化用户登录体验

随着互联网服务和通信技术的一直倒退,一键登录现在正成为越来越多挪动利用的首选,正逐步笼罩到人们越来越多的日常利用场景之中。秒验是Mobtech推出的一款一键登录开发者服务工具,通过其高效,稳固,便捷,平安的一键登录服务,极大的优化了新老用户注册登录时的应用体验。  1、秒验是如何实现一键登录的 首先,利用开发者通过在APP中集成Mob秒验SDK,这样当用户申请登录时,通过用户受权获取手机号码信息后,秒验SDK将主动通过与手机运营商的通信获取用户设施以后的手机号码,随后依据该手机号码秒验SDK将会为APP客户端提供一个接口调用令牌(token),并将该令牌传递给服务器,从而推动应用服务器能够向认证服务端发送申请,从而使认证服务器取得手机号码等信息,并进行核验,核验无误即可实现一键登录。通过秒验,用户将领会到更加快捷,高效,平安的注册,登录体验,而着对各大平台拉新促活具备极为重要的意义。  2、秒验笼罩多样的利用场景 秒验提供的一键登录服务正在越来越多的畛域失去广泛应用,对于那些平安要求高,同时时效性强须要用户重复查看的APP而言一键登录必不可少。  以社交媒体为例,局部用户出于工作须要,应用双卡双待的设施从而领有两个不同的账号,此时出于用户隐衷爱护和账号安全性的思考,大部分利用会要求切换账号需从新登陆。此时在利用场景中须要来回切换登陆,如果应用验证码登陆,则很容易分不清验证码到底是发给双卡中哪一个手机号的账号上,在这个场景中,秒验只须要在设施治理中选取哪张卡为流量卡,秒验将依据提供流量的卡作为一键登录的账号,从而实现不同账号登陆的无缝切换。  在电子商务利用中,为了爱护用户的资金平安,往往在后盾退出后须要从新登陆,此时假使登陆的流程过于繁琐,简单,给用户造成了不好的应用体验,则容易引发用户焦躁和恶感,失去持续购买的趣味和志愿,从而最终影响到用户的成交转化率。为此,秒验的一键登录技术提供了更迅速、更不便的登录形式,从而更多的用户订单发明了必要条件。  金融服务利用波及到用户的敏感数据和交易信息,但同时例如股价,成交额等信息时效性极强,须要重复关上,此时会常常会呈现须要重复登陆的状况。因而安全性是首要思考因素。秒验基于芯片和PKI非对称加密算法,能够无效避免短信嗅探、伪造、篡改等攻打伎俩,实现了与运营商之间的通信全程加密,保障了用户平安登录。  总之,秒验提供的一键登录服务将随着通信技术的不断进步,为越来越多的挪动利用开发者和利用用户发明更加良好的体验。

September 26, 2023 · 1 min · jiezi

关于大数据处理:深入MaxCompute-第十弹-IF-ELSE分支语句

简介:  MaxCompute通过脚本模式反对IF ELSE分支语句,让程序依据条件主动抉择执行逻辑,反对更好的解决因数据不同而须要采纳不同策略的业务场景产生的简单SQL,进步开发者编程的灵活性! MaxCompute(原ODPS)是阿里云自主研发的具备业界领先水平的分布式大数据处理平台, 尤其在团体外部失去广泛应用,撑持了多个 BU 的外围业务。MaxCompute 除了继续优化性能外,也致力于晋升 SQL 语言的用户体验和表达能力,进步宽广 MaxCompute 开发者的生产力。 MaxCompute 基于 MaxCompute2.0 新一代的 SQL 引擎,显著晋升了 SQL 语言编译过程的易用性与语言的表达能力。咱们在此推出深刻 MaxCompute 系列文章 第一弹 - 善用MaxCompute编译器的谬误和正告 第二弹 - 新的根本数据类型与内建函数 第三弹 - 简单类型 第四弹 - CTE,VALUES,SEMIJOIN 第五弹 - SELECT TRANSFORM 第六弹 - User Defined Type 第七弹 - Grouping Set, Cube and Rollup 第八弹 - 动静类型函数 第九弹 - 脚本模式与参数视图 上一篇介绍了脚本模式,能够理解到脚本模式执行时是作为一个整体进行编译、提交,生成一个执行打算实现一次排队一次执行可充分利用资源,这个过程能够看到残缺的执行打算给开发者提供更多的优化机会, 且书写天然对习惯用一般编程语言形式书写的开发者更敌对。 更重要的是脚本模式反对IF ELSE分支语句,能够让程序依据条件主动抉择执行逻辑。如脚本须要可能依照日期单双号抉择不同的逻辑;脚本可能依据一个TABLE的行数采取不同的策略等业务场景,这个个性就能够很好的解决这类业务场景产生的简单SQL,给了SQL开发者更多的操作空间。 本文中有例子采纳MaxCompute Studio作展现,装置MaxCompute Studio的能够参照装置MaxCompute Studio相干文档进行装置并应用。IF ELSE分支语句语法格局 Max Compute的IF语法有以下几种:IF (condition) BEGIN statement 1 statement 2 ...ENDIF (condition) BEGIN statementsEND ELSE IF (condition2) BEGIN statementsEND ELSE BEGIN statementsEND留神: ...

August 31, 2023 · 2 min · jiezi

关于大数据处理:毕业设计广告推荐系统一

写在后面先就不写了。 工作介绍本次工作:是依据淘宝广告展现和用户点击行为的数据集,去做的一个广告举荐零碎。达到的目标:给咱们一个用户的id,咱们的举荐零碎就返回用户最可能返回的10个广告回来。ps:这个工作看似简略,然而有一个实时举荐的问题,零碎须要依据之前的用户点击后果,对召回的广告进行动静调整,从而更新举荐列表。(召回(match)”指从全量信息汇合中触发尽可能多的正确后果,并将后果返回给“排序“)数据集介绍3.1原始样本骨架raw_sample这个是从淘宝网站中随机抽样了114万用户8天内的广告展现/点击日志(2600万条记录),形成原始的样本骨架。 字段阐明如下:(脱敏指:对敏感数据进行解决,个人隐私等敏感信息) user_id:脱敏后的用户idadgroup_id:脱敏后的广告idtime_stamp:工夫戳pid:position_id,广告展现的地位,左上右下等。noclk:没有点击1,点击0clk:用户点击1,没点0对这个零碎,咱们转换为一个点击率预测的问题,最初把点击率从大到小排序,靠前的举荐给用户就行了。为什么给了clk和noclk?首先这是反馈真实情况的日志,其次,如果只存点击的话,就不知道到底曝光了多少广告给用户,因为没曝光和曝光都能够是不点。所以要两者联合起来才行。那么仅仅利用以上数据集间接训练,十分可能是训练不准的,所以还要依附其余数据集。 3.2广告根本信息表ad_feature本数据集涵盖了raw_sample中全副广告的根本信息(约80万条目)。字段阐明如下: adgroup_id:脱敏后的广告idcate_id:广告品种idcampaign_id:广告打算id,某种策略(比方那种领优惠券便宜一点,给了一点转卖商,一点儿给用户,起到加大宣传的作用)brand_id:广告品牌price:宝贝的价格一个广告对应一个宝贝没话说嘛。 3.3 用户根本信息表user_profile本数据集涵盖了raw_sample中全副用户的根本信息(约100多万用户)。字段阐明如下: user_id:用户idcms_segid:微群ID;cms_group_id:cms_group_id;final_gender_code:性别 1:男,2:女;age_level:年龄档次; 1234pvalue_level:生产品位,1:低档,2:中档,3:低档;shopping_level:购物深度,1:浅层用户,2:中度用户,3:深度用户(天天买)occupation:是否大学生 ,1:是,0:否new_user_class_level:城市层级这个数据集是较量的数据集,数据特色人家的做了肯定的荡涤了的,并且做了相干的labelencoder编码,省去了一些工作,然而咱们实在场景还是要做这些。有了用户点击广告日志的根本骨架,在加上用户根本信息,广告根本信息,实践上咱们就能够去训练模型进行预测了。然而有一个问题,数据集又是几百万几千万,比方间接逻辑回归进行训练的话,大部分广告和用户不沾边,而且计算量不得了,只会白白浪费工夫。 所以咱们第一步,先召回,和用户相干的广告。而后再去训练模型,再排序做一个举荐。那怎么召回呢?果然有一个行为日志的数据集! 3.4 用户的行为日志behavior_log本数据集涵盖了raw_sample中全副用户22天内的购物行为(共七亿条记录)。字段阐明如下:和下面的骨架数据集不同的是,下面是广告展现进去受否点击,这里是用户珍藏购买的日志。 user:用户idtime_stamp:工夫戳;btag:行为类型, 包含以下四种: 类型 | 阐明 pv | 浏览 cart | 退出购物车 fav | 喜爱 buy | 购买cate_id:脱敏过的商品类目id;brand_id: 脱敏过的品牌id;这份数据体现用户对商品类目(id)、品牌(id)的浏览、加购物车、珍藏、购买等信息,有了这个表,其实咱们就能够在排序之前,先做一些召回的工作了。 首先就是这里的用户行为类型,这里是实在的浏览,退出购物车,喜爱和购买这样的记录,而咱们如果想拿这份数据召回,比方基于协同过滤的话,咱们须要把这四种行为转换成评分,这样计算机能力认得,比方浏览给1分, 退出购物车。而后召回出和用户相干的品牌,广告啊,而不是最初的点击率。 有用户id, 又有cat_id和评分数据, 咱们其实就能够利用简略的协同过滤先做一波召回, 找到候选商品, 再映射出候选广告。 而后在思考精排,来一个精准预测。举荐业务解决次要流程: 召回 ===> 排序 ===> 举荐。而后用到了大数据平台,用一张图来示意就是:而后咱们大数据平台,就分为离线和实时两个局部解决业务流。 离线业务流先解决用户的历史行为数据, 而后失去评分数据, 而后基于协同过滤进行召回失去候选的商品类别, 而后再去关联广告,失去候选的广告。相当于做了一个粗略召回。在线解决业务流所以在线更新的思路就是基于用户新的购买日志或者记录来更新召回的商品类别或者品牌,而后映射出新的候选广告,因为之前缓存了广告的特色和用户特色, 所以基于这些又此造成新的数据对模型测试,而后失去点击的广告概率,排序产生新的后果。这里曾经把根本的业务流梳理分明了, 上面就简略看一下波及到的技术了,因为是在大数据平台上,所以用到的大部分都是大数据平台相干技术。波及技术:Flume、Kafka、Spark-streming\HDFS、Spark SQL、Spark ML、Redis。 Flume:日志数据收集Kafka:实时日志数据处理队列HDFS:存储数据Spark SQL:离线解决Spark ML:模型训练Redis:缓存5. 波及到点击率预测的几个相干概念5.1 点击率预测 VS 举荐算法点击率预测须要给出精准的点击概率,比方广告A点击率0.5%、广告B的点击率0.12%等;而举荐算法很多时候只须要得出一个最优的秩序A>B>C即可。 点击率预测应用的算法通常是如逻辑回归(Logic Regression)这样的机器学习算法,而举荐算法则是一些基于协同过滤举荐、基于内容的举荐等思维实现的算法 5.2 点击率 VS 转化率点击率预测是对每次广告的点击状况做出预测,能够断定这次为点击或不点击,也能够给出点击或不点击的概率 转化率指的是从状态A进入到状态B的概率,从达到网站到达成交易。 5.3 搜寻和非搜寻广告点击率预测的区别搜寻中有很强的搜寻信号-“查问词(Query)”,查问词和广告内容的匹配水平很大水平影响了点击概率,搜寻广告的点击率广泛较高 ...

June 12, 2023 · 1 min · jiezi

关于大数据处理:获奖案例巡展信创先锋之星中信证券基于国产图数据库构建企业图谱的应用实践

为表彰应用大数据、人工智能等根底软件为企业、行业或世界做出杰出贡献和微小翻新的标杆我的项目,星环科技自2021年推出了“新科技 星力量” 星环科技科技实际案例评选活动,旨在为各行业提供更多的优良产品案例,彰显技术扭转世界的力量,目前已胜利举办两届,收到了来自各界的积极参与。 第二届星环科技科技实际案例评选活动新增了“年度信创先锋之星”,通过产业界、学术界专家联结评审,最终评比出了“年度信创先锋之星”、“年度科技向善之星”、年度价值奉献之星”、“年度科技前沿之星”、“年度技术革新之星”五大奖项,并特此进行案例巡展。 本期巡展案例为取得第二届“新科技 星力量” 星环科技科技实际案例评选活动“年度信创先锋之星”的中信证券股份有限公司”基于国产图数据库构建企业图谱的利用实际”。 案例背景 中信证券股份有限公司于2021年启动国产图数据库我的项目。我的项目发展之前,中信证券已基于支流的Neo4j开源产品构建了企业图谱及相干利用,然而随着利用的宽泛深刻,Neo4j开源产品也遇到了不少难题,包含只能部署成单实例,不能做集群;社区开源版本最多用到 4个内核,计算能力无限;没有对立资源管理和权限治理等。随着国产图数据库越来越成熟,大型银行已宽泛布局国产图数据库。中信证券基于星环科技分布式图数据库StellarDB和常识图谱平台Sophon KG常识图谱重构了企业图谱及相干利用,满足了企业级的零碎建设须要,实现了分布式集群治理,对立的资源隔离与权限治理,计算性能的优化晋升,以及丰盛的可视化成果等。 解决方案 基于星环科技StellarDB和Sophon KG重构了企业图谱及相干利用,该零碎架构取代了依赖py2neo第三方插件的数据处理框架,应用星环科技大数据开发工具TDS产品,实现数据处理和调度的对立治理,将数据存储到大数据组件hive中,实现了历史数据的数据迁徙,也安顿了全量和增量的抽取调度工作。首日迁徙时应用全量调度工作,平时依照增量调度。 依靠弱小的组件技术,图谱管理系统领有对立的集群运维治理,以及对立的资源隔离与权限治理。零碎的底层为一个多模的数据处理平台,该平台能够提供对立的数据操作、查询语言 SQL、对立的数据计算引擎、对立的分布式存储管理零碎及对立的资源管理框架,满足利用一个多模异构平台解决多种数据的需要。StellarDB图数据库构建在这个数据处理平台之上。其图存储技术为自研KV存储,存储设计依照属性图模型设计。StellarDB满足TB级存储需要。存储依照点边主键进行哈希分区,使图平衡的分到集群的各个节点上。图计算技术为自主研发的分布式计算引擎Nucleon,计算引擎能依据不同的存储引擎主动匹配高性能算法,无需用户手工干涉,从而便捷地实现跨库关联,防止数据导入导出。在图数据库服务的顶层,还提供了丰盛的接口,如Java、Python、RESTful API等,不便自定义开发。 在StellarDB下层,基于Sophon KG构建企业图谱及相干利用。Sophon KG具备图谱公布、图谱查问,以及图谱分享等基本功能,同时还能不便地反对各类业务利用,提供丰盛的交互剖析性能。开发了图计算服务,以及关联企业数据查问等多种应用服务,并公布了对应的API接口,供给用方进行调用。基于利用平安思考,采纳post形式提供接口,并赋予每个业务部门一个拜访ID。 最上层的利用方包含团体客户画像、危险事件报告、科创板关联发现以及联机剖析等。团体客户画像在公司内有宽泛的利用,包含团体客户对公司的奉献价值,各业务收入和笼罩状况,满足人民银行对金融控股公司报送需要,以及同一客户授信等;危险事件报告联合危险舆情事件,主动触发相干剖析报告,提供关联公司和关联标的持仓等影响剖析;科创板关联发现旨在查找融券客户与策略投资者之间是否有利益关系,属于一种多层模式匹配剖析。此外,零碎还反对多用户的联机查问剖析,业务用户能够在线进行案例剖析及分享等。 案例施行功效 通过星环科技StellarDB和Sophon KG,中信证券打造了全新的企业图谱管理系统,实现了一站式的运维治理、调度治理和权限治理等,在局部利用成果中相比neo4j社区版性能有了较大晋升,并在业务易用性方面也有了长足进步,具体如下: 架构晋升方面:实现了软硬件国产化代替Linux服务器;依靠StellarDB实现了分布式集群,一站式图谱治理,代替了单机分利用部署;依附星环科技弱小的组件技术,实现了便捷的管理工具(监控+权限),代替了无对立监控运维管理工具;该零碎架构取代了依赖py2neo第三方插件的数据处理框架,应用星环科技TDS实现数据处理和调度的对立治理;实现了对立的api接口治理,代替了接口未封装的状况。性能优化方面:在团体派别算法利用上,该算法从单机运行模式到分布式运行模式,由原来的2小时左右,晋升到30分钟左右;科创板关联发现利用方面,由原来的1.5 s晋升到0.8 s。业务易用方面:提供了丰盛的可视化成果,实现了多种前端布局;实现了iframe嵌入其余业务零碎成果;扭转了neo4j社区办上繁多弹力求展现,须要独立开发展示的场面;星环科技也提供了全天候暖心服务+定制开发,扭转了高度依赖社区的场面。案例翻新点 国产代替方面,作为国内券商首批引入国产图谱厂商构建常识图谱中台的案例,在与国产服务器、国产操作系统适配等方面获得了较多的实践经验,对券商行业构建具备自主可控能力的图谱中台具备示范效应。

April 19, 2023 · 1 min · jiezi

关于大数据处理:内蒙农信携手星环科技建设农信大数据平台激活金融业务创新

背景 内蒙古自治区农村信用社联合社(简称“内蒙农信”)通过多年的信息化建设,目前投产应用的信息化零碎近100套,产生了大量的数据。该社于2019年采纳MPP架构的分布式数据库,实现了40多套业务零碎数据的归集、标准化解决。近年来大数据技术与金融业务深度交融,开释出金融翻新生机和利用潜能。2021年该社启动了大数据平台我的项目,与星环科技单干,通过一年多的致力,在金融云上部署了20个节点的大数据处理集群。 在星环科技大数据根底平台TDH的赋能下,内蒙农信晋升了多元异构数据整合能力,补救了实时数据处理、内部数据处理能力的有余,加大了数据辅助决策的力度,同时,通过客户画像,加强了客户辨认、营销、剖析的能力,为业务倒退提供了数据撑持。本次我的项目建设也在业内翻新地开发了线上一体化数据全流程解决产品,让数据处理不再是一个黑匣子,进步了数据应用的效率,为该社将来数字化转型、金融数据变现奠定了松软的技术底座。 案例概述 内蒙农信在大数据平台的建设过程中,融入了互联网的先进技术,同时也借鉴了同业的最佳实际。基于大数据处理技术,内蒙农信联结星环科技构建了基于金融云部署的大数据平台,依靠大数据平台,建设了对立数据门户,实现了信用社内外结构化、半结构化和非结构化数据的实时采集、实时计算、归档和标准化解决,满足了上游零碎数据须要以及实时查问和计算的需要。 建设内蒙农信对立数据门户,蕴含内部数据管理、数据服务、客户标签治理、数据订阅与查问、实时计算、数据模型治理、指标治理及对立登录与对立权限治理性能共七个子系统,实现数据的公布、订阅和查找、数据模型、指标库和数据标签的治理、展现与保护,明细数据的查问与导出,便于数据管理和保护。 解决难点 多元异构数据的整合解决,业务办理人员获取数据的及时性、有效性等始终是业内关注的焦点。内蒙农信通过建设大数据平台,解决了行内外结构化、半结构化和非结构化数据的整合,同时实现了数据的实时采集和计算,为理论业务提供了强有力的数据撑持,进步业务的及时性和有效性。通过大数据平台建设,夯实了内蒙农信数据外围平台的技术底座,能够反对将来危险防控、精准营销、实时数据大屏等利用场景,同时将外围业务零碎、农信银等业务零碎的数据查问压力迁徙至大数据平台,为业务零碎减负。 通过大数据平台建设,内蒙农信欠缺了数据体系架构,减速数据资源的开发利用。我的项目构建了对立的数据门户,实现了数据的一体化线上治理,包含数据公布、订阅和查找,数据模型、指标库和数据标签的治理、展现与保护、历史明细数据的查问与导出等。 如何依靠大数据平台,继续向外提供数据服务?数据服务性能实现对数据服务的对立定义与治理,实现数据服务的对立输入,并实现利用零碎应用数据服务接口的权限的对立治理。我的项目实现的数据服务API接口能够实现三个方面的数据服务:内蒙农信目前运行的历史数据查问平台的数据服务接口性能;对已接入内部数据的实时查问服务;客户标签实时查问服务。 翻新亮点 数据全流程线上化从数据采集、数据建模、数据开发到数据服务全副实现线上化。通过批量采集、日志采集、实时采集等形式将数据采集到TDH大数据根底平台,依据数据模型治理功能模块制订的规范模型进行数据建模,线上开发实现数据的加工解决,接口数据服务和文件数据服务为法人机构和上游零碎提供数据撑持,数据订阅和查问晋升了数据的应用效率。 实时服务的数字化响应能力传统的批量数据处理流程已无奈满足业务倒退须要,大数据平台引进互联网实时数据处理的先进技术,构建了一套从数据采集、计算到提供服务的残缺实时数据处理链路。通过实时计算平台,监控客户实时大额动账交易,可能让网点客户经理及时觉察客户大额资金动向,无效挽留潜在客户散失,同时,也能够揭示客户防止蒙受网络、电信欺骗等带来的资金损失。 多样化的数据服务能力撑持大数据平台提供多种数据服务撑持业务零碎及法人机构的数据需要,包含以数据订阅的形式撑持批量文件下发,以API的形式撑持实时数据的查问,API反对数据API、文件API、注册API以及聚合API等多种形式,满足不同业务场景的应用需要。 基于微服务的数据产品大数据平台数据全流程实现线上化,采纳多个数据产品,包含数据服务治理、数据模型治理、客户标签治理、数据订阅与查问、指标治理、内部数据管理、实时计算平台等,所有的数据产品都是基于微服务进行设计和研发,实现容器化部署,齐全基于国产化服务器和操作系统部署。 利用落地 通过大数据平台的建设,从数据的采集到给利用零碎提供数据服务,整个数据处理链路实现了数据全流程可视化治理,整个数据生命周期对于科技人员都是可见、可治理、可操作的。同时,通过血统剖析性能,每一项数据的加工过程都能够追溯。 依照业务倒退须要,大数据平台联合MPP架构数据库和基于Hadoop框架的分布式大数据处理组件,整合了批量数据、实时数据、结构化和半/非结构化数据,通过内部数据管理平台接入了业务所需的内部数据,欠缺了数据起源。建设对立数据门户,实现了业务数据的全量因素集中与实时反馈。夯实了数据根底底座,丰盛了数据处理能力,晋升了数据服务业务的效率。 基于大数据处理技术,构建了实时计算平台,实现了实时数据采集、实时计算与实时反馈;数据订阅与查问,充沛从数据使用者角度思考,实现数据的自助化订阅与查问;数据接口服务,满足不同数据接口应用场景,使数据的应用更加灵便高效;内部数据管理,对立的内部数据管理,为业务零碎提供丰盛的数据起源;数据模型治理,标准化的模型建设,为数据资产治理奠定了根底;指标治理,对每个指标做到精细化治理,包含指标的归属者和血统剖析;客户标签治理,通过客户标签治理,为精准营销提供无力的数据撑持。

April 19, 2023 · 1 min · jiezi

关于大数据处理:获奖案例巡展信创先锋之星浙江省某市区视频能力中心

为表彰应用大数据、人工智能等根底软件为企业、行业或世界做出杰出贡献和微小翻新的标杆我的项目,星环科技自2021年推出了“新科技 星力量” 星环科技科技实际案例评选活动,旨在为各行业提供更多的优良产品案例,彰显技术扭转世界的力量,目前已胜利举办两届,收到了来自各界的积极参与。第二届星环科技科技实际案例评选活动新增了“年度信创先锋之星”,通过产业界、学术界专家联结评审,最终评比出了“年度信创先锋之星”、“年度科技向善之星”、年度价值奉献之星”、“年度科技前沿之星”、“年度技术革新之星”五大奖项,并特此进行案例巡展。本期巡展案例为取得第二届“新科技 星力量” 星环科技科技实际案例评选活动“年度信创先锋之星”的浙江省某市区视频能力核心。 案例背景 依据浙江省、市数字化改革总体部署,依照“兼顾建设,分级部署”的准则,充分利用该市区数字化建设已有成绩,使用数据、云计算等新型技术,通过建设集算法中台、视频解析平台、业务场景利用、指标评估等于一体的视频算法服务组件,构建该市区视频能力核心,实现资源申请、资源分配、算法调度、视频剖析等性能,为全区视频剖析利用提供能力撑持。 通过星环科技一站式模型生产利用平台 Sophon AutoCV及云原生操作系统TCOS适配国产化硬件设施根底上提供GIS地图展现、事件监控、算法监控、集群监控、算法仓库、设施治理、场景规定构建、场景规定利用、事件治理及智能调度功能模块。目前国家在数据安全畛域越来越器重,在政府、军队等要害畛域要求全面信创,解决卡脖子问题,在这一背景下,首先是硬件全面国产化,其次是基于硬件开发和部署的软件系统要求全面国产化。 解决方案 总体架构浙江省某市区视频能力核心,利用算力资源池提供的计算资源和GPU服务资源进行部署,并通过对接现有的视频共享平台获取视频图像资源,实现资源申请、资源分配、算法调度、视频剖析等性能,为全区视频剖析利用提供能力撑持。 零碎组成零碎组成次要包含业务利用、算法中台、视频解析平台、数据库和算力资源池。 网络架构浙江省某市区视频能力核心设计部署在该市区视频专网的算力资源内,算力资源池间接与原有的视频资源共享平台的外围交换机连贯,实现视频资源的获取。该市区各部门通过防火墙与视频资源共享平台的外围交换机连贯,实现事件报警数据的获取。 分层设计依照数据解耦、架构分层的设计理念将该市区视频能力核心分为业务应用层、利用撑持层、数据资源层核基础设施层四层分层设计,对应总体架构图中的四大体系。 案例施行功效 我的项目以后已部署了机动车违停、河道检测、消防通道检测、行人入侵检测、行人汇集检测、车流量统计等AI场景。 平台赋能状况:视频能力核心在我的项目建设过程中,已实现了平台级对接与联调工作,以后平台中的城市治理类算法产生的告警信息,可间接推送给相干部门,造成从事件辨认、告警、推送、处理的整个业务通路的闭环。此外,以后视频能力核心也打算在后期针对河道漂浮物、消防通道占用两个业务场景,向相干部门提供相干事件告警能力;在将来,平台也会持续推动扩充视频能力的赋能规模。 组件上架:作为视频能力核心的平台外围性能,如各类事件的辨认、告警、推送及处理反馈等,已通过公共利用组件的模式上架到浙江省一体化数字资源零碎(IRS),动向单位可间接在IRS中浏览和申请调用组件,以最便捷的形式为该市区各局办单位进行赋能。 算法上架:针对其余算法提供商的算法上架,视频能力核心依据行业内所认可的容器化规范,向第三方算法厂商提供算法上架标准规范;只需依照该上架标准规范对算法进行打包,即可将算法一键导入平台,实现算法上架,体现了平台的通用能力和扩大能力。 通过驾驶舱大屏完整的展现了 : 集群资源的CPU、GPU、硬盘、内存使用率状况。针对事件监控模块告警事件可依据须要依照行政区域及工夫范畴筛选告警事件状况。针对算法监控模块完整展现了以后利用算法数量,AI能力总数,利用实例总数。能力利用模块滚动展现以后关联能力数量,关联设施数量下的施行AI场景及部署街道点位信息。事件实时告警模块实时滚动播放事件类型,告警工夫,处理单位,处理状态,且可通过查看详情完整的理解到具体的告警信息蕴含的告警视频,工夫,设施所属街道地位等。案例翻新点 国产代替:全面完成国产软硬件适配,基于鲲鹏CPU、昇腾加速卡的硬件与麒麟操作系统实现了整套解决方案的适配部署; 技术创新:对产品技术架构进行了深度优化,可能反对百路级视频流同时接入以及千路级的实时视频解决能力,同时还具备程度扩大能力; 经营模式翻新:扭转了以往各部门独立建设视频解决平台,导致反复建设重大,硬件设施利用率低等问题,将区域内所有的视频资源对立集中处理,调配CV算法,为各职能部门提供服务。

April 19, 2023 · 1 min · jiezi

关于大数据处理:如何做好一场NPS调研

咱们在工作中常常遇到的一个词,那就是“产品NPS调研”。当局部我的项目短少业余的用研人员时,设计师、产品经理则常常会承受下级的要求,投身于NPS调研工作。 笔者也曾在2022年的某天忽然接到一款产品年度NPS调研的工作。那么,NPS调研到底该怎么做?上面将依据笔者的个人经历复盘,率领大家重温NPS的调研办法。 1 NPS基础知识1.1 什么是NPS?NPS的外围就是:调研用户对你产品的忠诚度。 1.2 NPS的计算规定如何计算NPS值?咱们个别通过询问用户“是否违心向敌人举荐咱们的产品和服务?”来取得评分,并依据评分将用户分为三类: 9~10分的是推荐者, 是产品忠诚地用户;7~8分的是被动者,他们很容易被竞品吸引走;0~6分的是贬损者,他们更有可能去流传产品的负面信息。 NPS最终的分值等于“推荐者占比”减去“贬损者占比”。  2设计NPS问卷想要做NPS问卷调研,肯定要确保它后果的迷信合理性,这样能力在汇报时经得起他人的挑战。接下来咱们来看一看须要留神哪些点。 2.1 问卷回收数量2.1.1 须要回收多少问卷?对于一次问卷调研,如果回收的数量太小,那么最终失去的评分也不足以主观的评估产品的实在体验。那么,咱们须要回收多少份问卷才可能达标呢? 具体的详情规定就不一一细说了,感兴趣的童鞋能够去搜一下“样本数量计算”的相干材料。在样本的计算公式中须要咱们填写3个数值,大家能够通过输出上面的数据疾速计算出样本: 总体数量:也就是咱们的用户总数,如果很大或者你不晓得是多少时能够为空置信水平:个别通用值填写95%置信区间:个别通用值填写5% 通过以上公式计算出的样本数量,就是你本次问卷须要回收的最小数值。过后产品的用户体量为2W,那么问卷至多须要回收376份,才能够绝对精确的保障本次问卷论断正当无效。 可是回顾这款产品历史问卷的回收量,竟然没有一次的数量可能达标。那么,麻烦的问题又来了,咱们该如何回收到376份问卷呢? 2.1.2 如何晋升问卷回收量?为了晋升问卷回收量,我开始查找材料、征询用研老师、比照历史问卷数据,寻找可能使问卷回收量达标的方法。 精简提炼问题,升高问卷跳出率。纵观历史数据,发现在前几次调研中,存在一个广泛的景象,就是问卷的跳出率始终很高,继续在70%~80%之间,是什么导致了这种状况呢? 最重要的一点就是:问卷的题目太多、内容过于简单。用户点进问卷后,发现填写过于麻烦,便间接退出了。 所以问题的精简提炼是优化的第一步,联合产品2022年的大指标,剔除掉历史问卷中关联度较低的问题设置,逐步将NPS的调研题目缩短至两题:NPS值评分&开放式反馈。 在精简至这一步的时候,咱们也受到了许多质疑:只有两道题,能撑持起NPS的数据统计吗?  当初就来答疑解惑一下,依照NPS的问卷调研要求,外围问题必须具备三大块:“筛选指标用户、NPS评分&分支维度、补充型问题”。 首先,因为咱们用的推送渠道是服务号,这根本就能够确定填写者都是产品的用户;问卷通过企业openID登陆,咱们能够通过后盾的用户应用频率进行筛选,既能够辨别用户层级,又能够筛查出久未应用的用户问卷,所以“筛选指标用户”的题目便被后盾解决所取代。 其次,咱们将NPS的“分支维度题”&“补充型问题”作了联合,合并成一道针对NPS具体得分设置的三类评分用户各自专属的开放式反馈题: 9~10分的推荐者:感谢您的评分,您违心举荐咱们的主起因是什么?咱们还有哪些须要改良的中央?7~8分的被动者:咱们在哪些方面优化会加强您举荐的志愿呢?0~6分的贬损者:很道歉给了您不好的体验,请问您不违心举荐咱们的起因是什么? 通过以上三条分支的后续诘问,咱们就能够失去”用户举荐的亮点”,“可优化的改良点”和“不称心的毛病“,便于接下来的剖析与优化。 抉择适合的推送渠道 实现问卷内容的制作之后,接下来就是推送渠道的抉择。以后公司常见的问卷渠道有:站内信、利用banner、邮件、服务号等,抉择一个曝光力度最大的渠道,会使关注到问卷邀约的用户大幅减少,那么回收率也会相应晋升。 从不同渠道的问卷回收历史数据来看,服务号的曝光度是最大的,最近一次的服务号推送回收数据达到了180份。所以,本次的问卷发放渠道依然选定服务号来实现,但180份这个数据值间隔咱们的指标还差得远,接下来则是调整推送工夫。 抉择烦扰性较小的推送工夫 抉择一个正当且烦扰性较小的时间段收回问卷邀约,用户才会更可能的承受本次调研。通过调研四周共事的工作习惯、以及询问其它产品服务号的反馈数据比照,咱们得出了最佳的工夫点:5:45PM。在此时间段的问卷邀约,会失去最大的反馈率。 减少奖品吸引,晋升用户填写志愿 通过上述的优化调整之后,咱们依然在放心问卷是否回收到376这个数字。毕竟在大家日常生活及工作中,所接触到的信息烦扰越来越多。对于各方产品投来的问卷邀请,测评邀约等,可能已很大水平上使用户造成了腻烦心理,这样的状况会导致用户遇到你的问卷推送时,大概率抉择“忽视”、甚至“取关”。 针对可能呈现的这种状况,咱们减少了要害的一项“刺激因素”:奖品吸引。通过奖品经营,让用户重拾填写的趣味,减少问卷参与者。 2.2 问卷调研频率除了问卷的回收数目要求之外,咱们还须要留神问卷的调研频率。 产品在2022年度是按季度开展调研流动的,然而咱们从中发现了一些问题。因为版本的公布工夫不固定,依照季度来定期调研可能会导致新性能还未被用户充沛体验的状况,不仅无奈播种更多无效信息、浪费资源,还会使被调研者有一种“反馈不被器重”的感觉。 对此咱们从新调整了调研频率布局,依照“版本覆盖率”&“反馈消化水平”来正当触发新一轮的NPS调研。确保每次调研的前提条件肯定是上一个版本覆盖率高于70%,且上一次问卷反馈已根本处理完毕后,才能够开启下一次的调研。 3 NPS论断剖析通过下面的问卷优化调整,产品2022年度NPS的问卷回收数达到576份,达到了最小回收数376份的指标。接下来,最重要的阶段,则是如何通过回收到的问卷,来正确的剖析出后果、提出关键性论断为产品晋升品质了。那么咱们该如何剖析问卷数据呢? 3.1 过滤有效样本回收问卷后的第一步,就是须要对问卷数据进行预处理,查看是否存在有效问卷、异样反馈等。例如:问卷题目大量漏填、类似答案过多、答题速度过快……这些问卷都应该被算作“有效样本”被作废解决。如果不做这一层数据荡涤的筹备,那么失去的后果就很容易被这些有效样本所影响。 产品已经在2022年Q3的一次线下流动中发动了NPS问卷调研的邀请流动,并搭配上奖品处分。但因为四周有很多其它公司内产品摊位都增设了奖品激励的内容,造成参与者产生“速战速决”的心态。问卷NPS值一度飙升至70+,却多为有效反馈,导致此次调研只能作废重来。 3.2 问卷数据分析过筛掉“有效样本”后,接下来咱们就须要对问卷数据进行具体分析了。 3.2.1 NPS得分NPS的分值必定会是大家最关怀的数据,当这个数字进去之后,咱们须要与历史值做一下比照,是晋升还是降落,这将会是一个很直观的趋势比照。如果没有历史值比拟,那就依照一个大抵的区间评估范畴: 低于0分:贬损者超过推荐者,用户满意度堪忧;0~30分之间:产品不错,但仍有改良空间;30~70分之间:产品在用户满意度方面做得很好;高于70分:太棒了,你的大多数用户都是产品拥护者! 当然,咱们不能仅凭一个分值去主观的判定该产品的好与坏,还须要关注该产品所在行业的均值。也就是各年度的行业净推荐值基准,将本人的分值与行业基准分数比拟之后,能力失去一个更加主观的评分。 3.2.2 反馈数据整顿问题的分类整理是调研论断的外围工作,公司外部罕用的问卷平台,例如:小易问卷、网易定位等,它们会帮忙咱们进行很多根底类的整顿分类,这将会节俭很多人力老本。 对于反馈梳理,咱们也能够尝试不同的角度,来助力大家疾速定位外围问题所在: (1)站在用户层面看反馈 站在不同用户群体的层面去看总反馈的占比,比方:问卷的全副用户、推荐者用户、被动者用户、贬损者用户;这四个用户群他们的高频关键字都是什么? 高频的负面反馈当然是团队将来须要投入优化的具体项;那么对于一些侧面反馈,例如在问卷中,咱们发现大量推荐者提到“VPN性能更加快捷、稳固”,这一点就能够成为咱们将来增长、经营的发力点。能够通过VPN性能的宣传推广,吸引更多用户转化为产品的拥护者。 (2)站在反馈层面看用户 查阅具体问题的用户占比是为了更快的抓住产品外围痛点与爽点,如果呈现某一类问题显著在“某一类用户”占比偏大,那就须要分外关注了。 ...

March 22, 2023 · 1 min · jiezi

关于大数据处理:Milvus

什么是MilvusMilvus能做什么我用Milvus做了什么

January 5, 2023 · 1 min · jiezi

关于大数据处理:一文读懂硬核-Apache-DolphinScheduler30-源码解析

点亮 ⭐️ Star · 照亮开源之路 https://github.com/apache/dol... 本文目录1 DolphinScheduler的设计与策略1.1 分布式设计1.1.1 中心化1.1.2 去中心化1.2 DophinScheduler架构设计1.3 容错问题1.3.1 宕机容错1.3.2 失败重试1.4 近程日志拜访2 DolphinScheduler源码剖析2.1 工程模块介绍与配置文件2.1.1 工程模块介绍2.1.2 配置文件2.2 Api次要工作操作接口2.3 Quaterz架构与运行流程2.3.1 概念与架构2.3.2 初始化与执行流程2.3.3 集群运行2.4 Master启动与执行流程2.4.1 概念与执行逻辑2.4.2 集群与槽(slot)2.4.3 代码执行流程2.5 Work启动与执行流程2.5.1 概念与执行逻辑2.5.2 代码执行流程2.6 rpc交互2.6.1 Master与Worker交互2.6.2 其余服务与Master交互2.7 负载平衡算法2.7.1 加权随机2.7.2 线性负载2.7.3 平滑轮询2.8 日志服务2.9 报警3 后记3.1 Make friends3.2 参考文献前言钻研Apache Dolphinscheduler也是机缘巧合,平时负责基于xxl-job二次开发进去的调度平台,因为遇到了并发性能瓶颈,到了不得不优化重构的境地,所以搜寻市面上利用较广的调度平台以借鉴优化思路。 在浏览完DolphinScheduler代码之后,便生出了将其设计与思考记录下来的念头,这便是此篇文章的起源。因为没有正式生产应用,业务了解不肯定透彻,了解可能有偏差,欢送大家交换探讨。 1 DolphinScheduler的设计与策略大家能关注DolphinScheduler那么肯定对调度零碎有了肯定的理解,对于调度所波及的到一些专有名词在这里就不做过多的介绍,重点介绍一下流程定义,流程实例,工作定义,工作实例。(没有作业这个概念的确也很离奇,可能是不想和Quartz的JobDetail重叠)。 工作定义:各种类型的工作,是流程定义的要害组成,如sql,shell,spark,mr,python等;工作实例:工作的实例化,标识着具体的工作执行状态;流程定义:一组工作节点通过依赖关系建设的起来的有向无环图(DAG);流程实例:通过手动或者定时调度生成的流程实例;定时调度:零碎采纳Quartz 散布式调度器,并同时反对cron表达式可视化的生成;1.1 分布式设计分布式系统的架构设计根本分为中心化和去中心化两种,各有优劣,凭借各自的业务抉择。 1.1.1 中心化中心化设计比较简单,集群中的节点装置角色能够分为Master和Slave两种,如下图: Master: Master的角色次要负责工作散发并监督Slave的衰弱状态,能够动静的将工作平衡到Slave上,以至Slave节点不至于“忙死”或”闲死”的状态。 中心化设计存在一些问题。 第一点,一旦Master呈现了问题,则群龙无首,整个集群就会解体。 为了解决这个问题,大多数Master/Slave架构模式都采纳了主备Master的设计方案,能够是热备或者冷备,也能够是主动切换或手动切换,而且越来越多的新零碎都开始具备主动选举切换Master的能力,以晋升零碎的可用性。 第二点,如果Scheduler在Master上,尽管能够反对一个DAG中不同的工作运行在不同的机器上,然而会产生Master的过负载。如果Scheduler在Slave上,一个DAG中所有的工作都只能在某一台机器上进行作业提交,在并行任务比拟多的时候,Slave的压力可能会比拟大。 xxl-job就是采纳这种设计形式,然而存在相应的问题。管理器(admin)宕机集群会解体,Scheduler在管理器上,管理器负责所有工作的校验和散发,管理器存在过载的危险,须要开发者想计划解决。 1.1.2 去中心化 在去中心化设计里,通常没有Master/Slave的概念,所有的角色都是一样的,位置是平等的,去中心化设计的外围设计在于整个分布式系统中不存在一个区别于其余节点的“管理者”,因而不存在单点故障问题。 但因为不存在“管理者”节点所以每个节点都须要跟其余节点通信才失去必须要的机器信息,而分布式系统通信的不可靠性,则大大增加了上述性能的实现难度。实际上,真正去中心化的分布式系统并不多见。 ...

September 15, 2022 · 28 min · jiezi

关于大数据处理:字节跳动一站式数据治理解决方案及平台架构

“一站式数据治理解决方案及平台架构”的分享会分为四个局部开展: 首先,明确数据治理的概念,从平台视角登程,介绍在字节跳动外部数据治理所服务的指标其次,介绍字节跳动外部数据治理的现状与咱们须要解决的问题第三,介绍以后咱们的解决方案最初分享一站式数据治理的平台架构 数据治理的概念数据治理是一种数据管理的概念,确保组织能在数据的全生命周期中具备高质量的数据品质能力,并且实现对数据的齐全治理,以反对业务的指标。 在这外面有些关键词:在一些组织、一些公司外部关注的是数据全生命周期,心愿它有一个较高的品质,指标则是用来反对业务。 所以数据治理的指标次要由以下几点形成:第一,最大化数据价值。第二,治理数据的危险。第三,升高数据的老本。 数据治理是一个比拟大的概念。它包含政策、规定、组织构造、治理过程,以及一些技术的反对。畛域包含数据品质、数据老本、数据可用性以及数据安全等方面。 所以,在影响数据治理打算的驱动因素是多样的,比如说数据法规、隐衷政策的限度,数据品质参差不齐、数据治理老本高,或者是资源受限等等。此外,治理施行的形式和范畴也不同,比方:有可能是由对立的组织,诸如数据治理委员会在整个企业或者公司的范畴内发动一些治理指标与打算,来推动整个组织的数据治理;也可能是在一些部门、团队外部去进行无限范畴内的治理。数据治理打算的指标实现必须得用适当的工具来解决,数据治理的形式也越来越偏向于朝着系统化和工具化的方向来倒退。 字节跳动数据治理背景在字节跳动外部,作为对立的数据治理平台方,咱们的指标是:“建设一站式、全链路的数据治理解决方案平台”,治理平台肩负了四个使命: 第一,让数据价值最大化。这外面包含全生命周期数据品质的保障,既要做到高价值,又能实现低成本。第二,提供全链路解决方案。数据治理在理论过程中会由多个不同角色独特参加,包含了管理者视角和执行者视角。咱们心愿不同的角色在咱们的平台里,都可能使用一些工具、伎俩来推动治理的执行。第三,工具和方法论的联合。字节跳动外部数据治理平台的建设是以方法论来疏导建设,心愿工具可能提供十分齐备的治理能力。第四,提供增强型的治理能力。在零碎的能力上能够被动发现一些隐患问题,做一些举荐或者倡议的策略来晋升治理效率。 在字节外部,不同角色对数据治理的视角不同。比方,管理者或者是责任者的视角,他们可能会思考如何去制订一些治理的指标,如何可能让组织、团队来去实现这些治理的指标;他们可能会关注于这个指标什么时候可能实现、进度如何;他们也会思考,当他们真得去做了这些治理之后,些数据或者资产是否可能继续衰弱。 而从执行者的视角上,则要思考有数据治理指标下达之后,我该如何去做;我本人有哪些资产,资产有什么问题;我去做治理的时候,怎么样可能进步治理效率;我能不能及时发现数据资产的问题,并疾速治理。 数据治理流程链路因而在整个数据治理的流程中,遵循如下几个步骤: 第一:我有什么?比方我的计算工作,资产的存储,品质的一些规定,SLA 的承诺或者一些异样报警,哪些是属于我的。第二,清晰通晓治理指标。要晓得我要去治理什么,从哪些开始下手,哪些资产是有问题的,我的一些规定是否是设置的正当的。第三,怎么治理。比方在面临一个具体的治理问题,他人是如何治理的,他们是不是有一些相干的教训能够借鉴;在具体的施行过程里,如何去提效治理。第四,掂量治理成果。也就是咱们的治理是否达到了一些指标,或者取得了哪些收益。最初,总结与复盘。做完了整个治理链路流程之后的总结,如经验总结、问题演绎等等。 数据治理解决方案基于上述是数据治理流程链路中波及到的方方面面,在平台侧咱们是如何解决每个流程中对应的问题呢?整体从思路上,划分为三个维度: 一站式在建设一站式解决方案里,咱们细分了三层。第一层:视图层。这个视图层就是来满足咱们可能晓得,咱们有哪些资产,咱们有什么,咱们的指标是什么,该怎么制订,这个咱们称之为治理全景层。第二层:计划层。也就是真正施行去推动这个治理过程的这一层。在这一层外面咱们提出了两种治理的门路,一种是主动式的布局门路,另二种是零碎发现式的门路。 零碎布局式门路:符合于从上而下的视角来去满足于治理的指标,针对它做一些布局,做了一些布局之后对相应的资产进行诊断。诊断之后诊断出资产的问题来进行相应的一些问题推动执行,最初到一些收益的统计和总结。这是一个被动布局的局部。 零碎发现式门路:零碎发现这个门路其实次要解决的是,我怎么可能日常的去将我这些资产或者治理问题,可能继续的进行。日常化治理而不是一个静止式治理形式。这个是基于咱们平台外面的一些全局规定来定义,通过零碎来去订阅,定期在零碎外面去进行运行扫描,发现一些资产的问题,通过一些音讯的形式推送到这些资产的责任人,进行一些比如说根因的注销,问题的注销,事变的复盘,最初进行一些总结和教训的共享等等; 第三层:工具能力层。即为了满足于下面的视图层和计划层,咱们在工具侧提供的一些能力,包含一些垂直的治理场景和品质,平安老本,稳定性,报警起夜等等方面。还有一些根底服务来撑持这些咱们工具的建设。比方咱们会抽出一些音讯的核心,云数据的核心,规定引擎或者数据服务等等。 上述是咱们一站式的思路。 全链路全链路是指咱们心愿治理可能达到一个闭环的状态。在整个链路外面,可能针对于不同的角色,会有一些不同的应用形式,或者是一些运行形式。在整个的门路外面会有从资产的视图来看咱们有哪些货色。在这些资产视图根底之下来定一些指标和布局。比如说有些内部驱动的指标,业务驱动的一些指标或者是一些合规或者是政策类的指标等等,来制订咱们治理的指标。 针对这些指标,咱们去做一些计划的制订。 举个例子,比方去做一些存储资产的升高,可能通过一些规定来去圈选进去资产有问题的局部。之后推动这个治理的施行,可能在一些治理决策者或者一些团队的负责人方面,他可能会去进行一些拉群的督办,或者是一些定时的订阅揭示等等。在推动治理计划过程中,还心愿资产的责任人,也就是治理的实施者在咱们这个平台工具外面可能具体去施行治理的动作,如一些基于 SLA 的申报、参数的优化、存储规定的设置、规定的调优等等。 进行了一系列治理之后,咱们必定要有一个验收的环节,可能会是一个整体指标的验收,业务是否达标了,指标是否正当,最初进行一些教训的总结,这个是全链路的局部。 当然在全链路外面也包含了方才所说的这种零碎式、扫描式的门路。这个也是通过一些规定的制订,在零碎外面去发动规定的定义和订阅。通过零碎的扫描去发现一些问题,发现问题之后通过一些施行的治理,可能再反哺到咱们具体的一些规定的制订下面去。比如说更进一步配置一些监控规定,来预防治理的一些问题。 这个是全链路的局部。 全规定全规定指标是提供比拟齐备的治理规定能力,可能服务于方才所说的这种布局式资产组合与响应式资产扫描。这个是在平台的能力齐备性方面的一些思考。目前咱们提供了存储计算、品质报警等四个维度,当初有数十个这种治理的规定可供任意的圈选和组合。其中包含一些全局的规定和自定义的规定。 比方全局规定,比方近 7 天的产出为空的工作,是否有暴力扫描的工作。或者是一些定义,比方生命周期能够任意抉择一个时间段来去进行扫描或者近 xxx 天工作为空,把这些工作圈选进去,这些是自定义的局部。 同时还有一些统计类和开掘类。统计类就是基于数据建设对元数据的利用和加工。举个例子,比方近 90 天无拜访表,或者是数据歪斜工作的圈选。开掘类其实是在元数据的根底上进行一些更深层次的开掘,去找到一些数据的问题,比方类似的库表,类似的工作等。 一站式数据治理平台架构下面介绍了咱们应答数据治理的解决方案,包含全规定、全链路和一站式。接下来,介绍具体的平台架构。 整体架构首先在整体的架构局部,这是治理平台内整体的架构图。其中灰色的局部是在平台透出给用户的产品能力,包含治理全景。治理全景对应于方才在一站式的视图层可能通知用户,有哪些资产,这些资产的状况是怎么样的。而后是治理的工作台。工作台的局部是针对于治理的实施者,他可能疾速定位或者跳跃到相干一些治理的计划和平台去进行治理。这个是一些包含待办项和这些资产的剖析等等。之后是一些诊断布局的局部。也就是服务于主动式布局这条门路的一个模块。它会对咱们这些资产进行一些规定式的组合,来进行一个最终的诊断。还有一些资源的优化,报警与订阅和 SLA 保障等几个垂直类的治理场景。最初有一个复盘治理局部,是做经验总结和积淀的一个模块,以零碎的形式进行记录。 两头的局部是基于全规定的思维,将存储规定、计算规定、品质规定和报警规定,出现在平台里,让用户来进行自在圈选,达到灵便、全面的目标。 上面绿色层是零碎组件层面的一些形象服务,咱们会针对数据治理的典型场景,在底层的根底设计上做一些形象,达到灵便适新的规定或者治理场景的目标。 元数据建设在数据治理外面,咱们认为元数据其实是治理的外围,治理其实是须要元数据来去驱动的。在咱们治理工作外面,元数据建设治理次要有以下五个方面: 第一,元数据的采集。咱们会采集底层组件架构的一些数据,yarn 队列,Hive、Spark、Flink 等各种组件的数据,以及一些平台级的元数据采集,包含调度零碎,数据地图、血统、权限、工作、存储、数据利用等平台的一些元数据,在采集之后,会进行一些系统化的加工,咱们遵循于数据仓的层级标准的建设来晋升数据的应用性。同时,在加工的过程中也齐全遵循于数据治理理念保障数据都是高质牢靠。 第二,元数据利用。在元数据利用局部咱们会通过元数据仓库为根底,给上游的产品平台提供更多利用的能力反对。 第三,剖析局部。咱们会制订很多业务的外围指标和一些外部指标,通过一些治理场景用户的行为剖析来挖掘一些潜在的数据问题。另外就是会在各个维度去建设各类剖析看板。 第四,开掘局部。这个是在数据上更高一层的利用,咱们会推动一些开掘算法和机制,去发现一些可治理的问题,比方咱们可能会对于一些数据资产的相似性进行开掘。基于历史数据对将来的一些预测,比如说一些数据表行数的不动值预测,一些提效的举荐类开掘。 最初是元数据的凋谢局部。咱们会和字节跳动外部各个数据团队来去单干共建按需凋谢,提供元数据能力。 产品模块上面介绍平台侧的产品模块,同样也能够在火山引擎 DataLeap 产品中看到。 第一、治理全景。解决有哪些资产问题。目前在平台上有一些大盘,包含数据的 SLA 大盘、存储大盘、计算大盘、报警大盘等等,这些大盘针对于不同的治理场景会有一些不同维度的展现,包含一些数据趋势,一些占比列表,或者是一些聚合明细等数据。撑持治理全景的是咱们底层的元数据仓库以及方才说的数据利用的局部,对数据进行一些加工。第二、衰弱分。咱们心愿衰弱分可能掂量资产的衰弱度,让资产继续衰弱。在衰弱分的建设外面,咱们遵循几个步骤。第一是首先在衰弱分的建设外面,通过元数据仓库提供衰弱分的各维度的剖析建设,包含一些成员排名。第二个局部是有了这些衰弱分之后提供更多的维度剖析,以及扣分项剖析,老本剖析,可能将衰弱分拆解,拆分成可治理的这样的我的项目,有了这些可治理的我的项目之后,具体关联到一些数据治理的操作和计划的设计。比方,咱们能够针对于一些衰弱分的扣分项,来跳转到一些垂直治理的场景界面来去进行一些操作设置或者是做一些布局式治理计划的关联。这个是衰弱分的一些思路。 在衰弱分的设计方面,咱们遵循了一个三层架构的思路。首先第一层是比拟大宏观的资产层。包含存储的衰弱分,计算衰弱分,数据品质等等。第二层是针对于这一类自办的一些聚合类指标,包含比如说存储衰弱分外面的有效数据,或者是高效存储的问题。计算衰弱分外面有效工作和高效计算的问题。数据品质方面的 SLA 或者是监控保障的问题。最初一层是比拟具体的规定层。包含存储外面 TTL 设置,或者是无查问的一些资产。比如说计算外面的间断失败工作或者是资源利用率比拟低的一些工作。数据品质外面的一些 SLA 的事变数或者是一些监控的缺失、有效报警等等。 在有了资产全景和看板之后,咱们其实能够进行一些治理操作,对应于一站式外面的第二层治理操作的局部。后面介绍到咱们其实有两种门路,第一类是布局类的门路,可能是从一个比拟高的视角来去拆解治理的问题。这个门路外面,咱们是要指标明确,过程可拆解,收益可量化,后果可验收。 零碎设计最初咱们来说一下零碎是如何来撑持布局式的架构呢? 布局式架构:在底层的基础架构设计方面次要有几个模块。 首先在后端是一个主逻辑的操作局部,包含了方才所说的规定,治理规定、治理域,一些圈选的能力,资产的查问和收益的统计,治理指标的制订,治理后果的查看,治理的催办和具体的治理操作。 撑持于后端逻辑的局部,有几个形象的服务模块。第一个模块是数据查问服务,次要解决的一个问题是底层不同存储异构的适配。将这些原数据通过一些下层利用的加工,放到不同利用的存储外面来适应不同的查问类型。通过这个服务来进行一些解耦。这个服务外面数据的起源就是事件的收集服务,咱们会做一些格局的转换,音讯的解决,包含一些底层组件的关联和零碎回调和数据采集等等。 ...

June 1, 2022 · 1 min · jiezi

关于大数据处理:基于-Databend-和腾讯云-COS-打造新型云数仓

本篇文章向大家演示如何应用 Databend 基于腾讯云 COS 构建旧式数仓及其计算能力。如果你也在找一个低成本、高性能、反对弹性的数仓,Databend 能够为大家提供一个基于对象存储的云原生数仓解决方案。目前 Databend 反对数据的 stream load , copy into from stage , insert 等形式的数据写入,部署上反对单机和集群模式。须要更多反对增加微信: 82565387 。 文章较长,倡议珍藏 PC 端浏览。 Databend 介绍Databend 是一款应用 Rust 研发、开源、齐全面向对象存储架构的旧式数仓,提供极速的弹性扩大能力,致力于打造按需、按量的 Data Cloud 产品体验。具备以下特点:•Vectorized Execution 和 Pull&Push-Based Processor Model •真正的存储、计算拆散架构,高性能、低成本,按需按量应用 •残缺的数据库反对,兼容 MySQL ,Clickhouse 协定, SQL Over http •欠缺的事务性,反对 Data Time Travel, Database Zero Clone 等性能 •反对基于同一份数据的多租户读写、共享操作 github repo: https://github.com/datafusela...Docs : https://databend.rs对于 Databend 架构图,参考:https://databend.rs/doc/ 腾讯云 COS对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限度,可包容海量数据且反对 HTTP/HTTPS 协定拜访的分布式存储服务。腾讯云 COS 的存储桶空间无容量下限,无需分区治理,实用于 CDN 数据散发、数据万象解决或大数据计算与剖析的数据湖等多种场景。官网:https://cloud.tencent.com/pro... ...

April 15, 2022 · 17 min · jiezi

关于大数据处理:来看看字节跳动内部的数据血缘用例与设计

数据血统形容了数据的起源和去向,以及数据在多个处理过程中的转换。数据血统是组织内使数据施展价值的重要根底能力。本文从字节的数据链路详情开始,介绍了数据血统在字节的利用场景,总体设计,数据模型以及掂量指标。文 | 罗小亮、拾捌、大滨来自字节跳动数据平台开发套件团队 字节跳动数据链路介绍为了明确问题的探讨范畴,咱们首先介绍一下字节的数据链路。 字节的数据的起源分为两种: 端数据:APP 和 Web 端通过埋点 SDK 发送的,通过 LogService,最终落入 MQ;业务数据:APP,Web 和第三方服务所进行的业务操作,通过各种利用的服务,最终落入 RDS,RDS 中的数据,通过 Binlog 的形式,汇入 MQ;MQ 中的数据,在 MQ 之间有分流的过程,做转换格局,流量拆分等。 离线数仓的外围是 Hive,数据通过各种伎俩最终汇入其中,应用支流的 HiveSQL 或 SparkJob 做业务解决,流入上游 Clickhouse 等其余存储。 实时数仓的外围是 MQ,应用支流的 FlinkSQL 或通用 FlinkJob 做解决,期间与各种存储做 SideJoin 丰盛数据,最终写入各种存储。 典型的数据进口有三类: 指标零碎:业务属性强烈的一组数据,比方“抖音日活”报表零碎:以可视化的模式,各种维度展现加工前或加工后的数据数据服务:以 API 调用的模式进一步加工和获取数据在字节,数据血统的零碎边界是:从 RDS 和 MQ 开始,一路路径各种计算和存储,最终汇入指标、报表和数据服务零碎。 血统的利用场景在探讨技术细节之前,须要先讲清楚血统的利用场景与业务价值,进一步明确数据血统须要解决的问题。不同的利用场景,对于血统数据的生产形式,血统的覆盖范围,血统的品质诉求,都会有所差异。 数据血统零碎的整体设计01 - 概览通过对字节血统链路和利用场景的探讨,能够总结出血统整体设计时须要思考的两个关键点: 可扩展性:在字节,业务简单而宏大,整条数据链路中,应用到的各种存储有几十种,细分的工作类型也是几十种,血统零碎须要能够灵便的反对各种存储和工作类型凋谢的集成形式:生产血统时,有实时查问的场景,也有离线生产的场景,还有可能上游零碎会基于以后数据做扩大字节数据血统零碎的整体架构能够分为三局部: 工作接入:以某种形式,从工作管理系统中获取工作信息血统解析:通过解析工作中的信息,获取到血统数据数据导出:负责将血统数据存储到 Data Catalog 零碎中,并供上游零碎生产02 - 工作接入有两个要害的设计思考: 提供两种可选的链路,以应答不同上游零碎对于数据实时性的不同要求: 近实时链路:工作管理系统将工作的批改的音讯写入 MQ,供血统模块生产离线链路:血统模块周期性的调用工作管理系统的 API 接口,拉取全量(或增量)工作信息,进行解决定义对立的 Task 模型,并通过 TaskType 来辨别不同类型工作,确保后续解决的可扩展性: 不同工作管理系统,可能治理雷同类型的工作,比方都反对 FlinkSQL 类型的工作;同一工作管理系统,有时会反对不同类型的工作,比方同时反对编写 FlinkSQL 和 HiveSQL新增工作管理系统或者工作类型,能够增加 TaskType03 - 血统解析有两个要害的设计思考: ...

February 24, 2022 · 1 min · jiezi

关于大数据处理:实时数据管理实战派DataPipeline亮相FCS-2021中国证券基金和资管CIO峰会

9月26-27日,FCS 2021第三届中国证券、基金和资管CIO峰会在上海隆重召开。本次大会围绕“数字重构价值·改革驱动增长”主题开展,邀请到金融、政府、IT等多畛域的千余名行业学者、领域专家,深入探讨寰球环境下金融机构数字化、危险管制等能力对企业的深刻影响,共话数字化金融新将来。 DataPipeline产品负责人徐志超 在题为“聚焦数字化财产治理·科技重塑行业价值”的主论坛中,DataPipeline产品负责人徐志超受邀作《企业实时数据管理问题与实际》的宗旨发言。他针对企业实时数据管理利用中面对的次要问题、DataPipeline企业级实时数据交融平台解决方案及DataPipeline的行业实际与劣势几项议题与现场嘉宾进行了探讨。徐志超谈道:“在新的倒退阶段,技术引擎异构趋势显著,数据的交融翻新正在成为新常态。数据交融是企业数字化转型的源头,是数据实时、残缺、稳固、统一的基本撑持。只有领有了高质量的原始数据,企业能力真正走出扎实地数字化转型之路。随着人民银行《金融科技(FinTech)倒退布局(2019-2021年)》等一系列顶层布局落地施行,中国金融科技政策环境和监管规定体系一直优化。越来越多的金融机构重视翻新技术利用并且踊跃寻求与社会企业单干摸索金融科技新场景。在业务场景中倒退全新的生态体系成为了传统金融机构弯道超车、造成竞争壁垒的次要抉择之一。咱们可能取得包含民生银行、中国人寿(海内)、山东城商行联盟、财通证券、山西证券、恒泰证券、国盛证券、财通资管、中国石油、吉利团体、星巴克、顺丰在内的百余家重量级企业客户的青眼,得力于DataPipeline企业级实时数据交融平台从理念到架构、从性能到性能、从计划到技术,全面围绕并适应以后的用户需要及产业倒退态势。产品打出‘基于日志的实时增量数据获取技术’、‘反对支流关系型数据、大数据平台及国产数据库’、‘分层治理按需服务’、‘高容错分布式架构’等一整套的劣势组合拳。” 业务需要降级 召唤实时数据管理翻新目前,企业面临市场竞争和用户行为的巨大变化,必须一直放慢本身进化速度。同时,业务需要降级往往要求经营模式的转变,以多速IT应答理论场景需要、疾速响应实时数据的要求。但在企业该转型翻新过程中,面临着多重问题: 各类数据管理技术差别越来越大,全面、精确的实时数据获取艰难,企业内实用不同场景的数据管理技术不尽相同,技术壁垒妨碍数据价值开释。惯例端到端实时数据链路以月为单位的构建效率已无奈适应外部环境的变动,业务须要更高的敏捷性来应答,这须要整个数字化组织能够体系化且可预见性地进行多速、麻利的业务场景撑持。过多的技术储备要求与研发老本也成为妨碍疾速建设竞争劣势的重要因素。从客户行为剖析到非交易类的触客业务到事件营销再到风控评分,实时数据链路逐步成为业务经营的重要撑持。作为买通各业务零碎数据通道的中间层,实时数据链路的稳定性与容错性也成为重点与难点。实力过硬 做金融数字化翻新基础设施针对企业面临的问题,DataPipeline提供企业级实时数据交融平台解决方案,通过基于日志的增量数据获取等多种实时数据技术,帮助客户构建以业务指标为导向的数据链路,按需疾速定制、部署、执行数据工作,反对从传统数据处理到实时数据利用的各类场景,齐全满足金融行业高性能、高可用、高稳固、高可控等的能力诉求。产品具备“全、敏、稳”等几大个性:DataPipeline企业级实时数据交融平台整体架构 DataPipeline企业级实时数据交融平台目前反对Oracle、IBM DB2、MySQL、Microsoft SQL Server及PostgreSQL等数据库的实时增量数据捕捉,对大数据平台、国产数据库、云原生数据库、API及对象存储也提供宽泛的反对,并在一直扩大。产品形象为“数据节点、数据链路、交融工作及系统资源”四个根本逻辑,只需通过二至三项简略配置就能够定义出能够执行的交融工作,同时对各个环节进行分层治理,在无效满足零碎运维治理需要的前提下,晋升实时数据获取与治理在各个环节的配合效率。交融引擎采纳分布式架构,容器化部署,能够保证系统业务连续性要求。在分布式集群的根底上,平台采纳系统资源组的模式隔离不同工作的运行环境,保障重要工作的稳固有序运行。宽泛验证 实时数据管理实战派在银行畛域,DataPipeline帮助构建的民生银行实时数据同步管道平台通过近百个实时数据工作将客户行为等实时数据进行标准化补全并散发到生产计算方,用于各类实时数据加工场景。该体系交融了IBM DB2、MySQL、Kafka、Redis、GaussDB、SequoiaDB、HDFS在内的多种数据根底组件,实现对次要交易系统每日产生的数亿条数据的整合。DataPipeline助力山东省城商行联盟构建的企业级数据库准实时数据采集零碎可实现IBM DB2,Oracle,MySQL等多种外围数据库的实时数据采集性能,在金融级的稳固高容错能力方面受到客户高度认可。在保险畛域,某世界五百强金融企业买通用户行为数据、承保/退保/理赔/销售等业务数据及计算剖析后果数据,高效反对营销、风控、经营等业务部门取数及用数需要,IT零碎交融Oracle、Microsoft SQL Server、MySQL、TiDB在内的近十种数据库治理技术,实现从外围业务零碎到客户端的多个零碎产生的数十亿条数据的整合。在证券畛域,DataPipeline联结财通证券建设的数据采集同步集群实现了公司含外围零碎在内50+业务零碎的数据交换,被客户赞为“合乎金融行业数据流转稳固要求、操作简略、运维压力低、自定义能力强且对业务零碎与业务人员十分敌对的零碎”。在生产金融畛域,DataPipeline携手某头部汽车金融企业构建的实时数据平台接入MES、ERP、CRM、批发、批售、征信、反欺等零碎,适配Oracle、Microsoft SQL Server、MySQL、PostgreSQL、TiDB、Hive、Kafka、HBase等数十种数据库近实时的数据采集性能,大幅晋升了企业风控、营销等的能力。一笔生产、一度电、突飞猛进的金融业倒退、繁忙不息的产线……更多企业正因实时数据管理的加持悄悄扭转。这背地的技术都来源于DataPipeline企实时数据交融产品。面对不同的实时数据利用需要,DataPipeline企业级实时数据交融平台都能以专业化产品与解决方案的形式升高了企业搭建根底平台的研发老本与运维老本,晋升数据利用的效力,满足客户的业务需要,高效解决企业数据管理中“最后一公里”的问题。 目前,DataPipeline已笼罩金融、批发、能源、制作、地产等重点畛域,产品被利用在客户服务、生产调度、经营治理、业务剖析等重要场景中。DataPipeline 企业级数据交融平台在零碎稳定性、可管理性、扩展性、灵活性方面通过了重复验证。同时,为了给以金融为代表的国民支柱型行业提供平安可信的数据管理撑持,DataPipeline正在踊跃拥抱国产化布局,开展兼容适配助力欠缺信创产业链生态。截止目前,DataPipeline已成为中国电子工业标准化技术协会信息技术利用翻新工作委员会会员单位,产品已与华为鲲鹏云、华为GaussDB 、SequoiaDB巨杉数据库、星环大数据平台Transwarp Data Hub、河汉麒麟高级服务器操作系统(鲲鹏版)V10、TiDB、HashData、西方金信海盒数据库管理系统等多个软硬件产品实现全面兼容认证且性能优异,可能无力服务各畛域信息化程度当先的用户。“交融”的表象是数据流转,基本是价值在企业外部传导的过程,助力数据交融与共享的“链路构建”是企业数字化转型的必经之路。将来,DataPipeline将持续保持技术驱动、深耕企业服务,以全面的实时数据管理计划助力企业在新的竞争中取得先机,实现单干共赢。点我理解DataPipeline更多信息并收费试用

September 30, 2021 · 1 min · jiezi

关于大数据处理:三步构建手机数据助手数据尽在掌握

想要实时掌握业务经营信息?及时追踪经营异样?疾速定位问题所在?观远数据「挪动轻利用」来帮你!通过手机即可流畅地查看数据,随时随地进行数据分析,把握一手业务经营动静。反对嵌入企业原生APP,也反对与钉钉、企微、飞书集成,零代码开发,无需额定下载,即可让“数据分析”触手可及,实时响应业务需要! 9月22日,观远数据BI产品用户体验设计师 约书 为咱们具体解说了「挪动轻利用」性能,分享三步搭建「挪动轻利用」的步骤,并从设计师的角度,介绍了更好看的搭建形式,让咱们一起来回顾一下。 1.随时随地把握门店经营数据,洞察经营异样门店销售额疲软,却迟迟找不到问题所在?不在店里,如何把握顾客流动状况、店员销售状况?如何监控数据?出现异常怎么及时解决?......你是否正在面对以上难题?后疫情时代,面对充斥不确定性的商业环境与日趋激烈的竞争态势,企业须要对变动实现更疾速、更灵便的响应:实时把握经营信息,及时追踪问题所在,使数据反馈不再受到时空的限度,使经营决策不再滞后,是破局的要害。 「对变动实现疾速响应」是「挪动轻利用」性能诞生的初心,心愿借助挪动端的数据分析场景,为管理者冲破时空局限,对经营数据进行全面把控,满足灵便多变的业务剖析需要,进一步晋升对“人货场”的精细化经营能力。 图源:观远数据演示零碎 满足多角色的挪动数据利用需要 挪动治理驾驶舱多维度、立体化,让管理者出差在外也能对外围业务指标高深莫测,实现决策效率最大化。店长助手丰盛的挪动数据可视化报表,不便店铺管理者随时随地查看经营数据、员工数据、商品库存数据等要害指标,为即时业务剖析和日常业务解决提供领导。数据异样预警,实时揭示观远数据「挪动轻利用」能集成到企业已有利用,以及钉钉、企业微信、飞书等第三方挪动办公平台,联合音讯推送,决策者能通过手机第一工夫接收数据异样的预警音讯,及时应答问题,追踪问题。 以「批发经营助手」为例,介绍观远数据针对连锁批发企业客户的挪动端数据分析解决方案。应用角色包含总部管理层、区域管理层(如区域督导、城市经理等等)以及店长;利用内容包含实时战况、经营大盘、地面巡店、门店洞察、重点商品追踪、异样库存监控等,帮忙企业中不同层级与角色,从经营大盘到门店经营进行穿透式治理。 经营大盘该页面为总部经营数据概览页,监控整体营业状况,第一工夫发现异常,进行策略调整。地面巡店帮助督导疾速定位问题门店/重点门店,随时随地把握治理门店的经营情况,以数据为根据帮忙门店晋升经营程度。门店经营数据普惠,晋升能力基线,助力一线店长领有优良店长的剖析思路,晋升整体店长业务剖析程度。实时战况从全局到单元,随时随地把握当下经营状况。全面的挪动数据分析性能,媲美PC端的性能体验,保留钻取、联动等性能,另有挪动端轻便易携带的劣势,将所有剖析性能轻松装进口袋。 2.零代码无门槛,迅速创立挪动轻利用企业自研数据分析利用APP,须要消耗多达两周工夫,很难应答复杂多变的业务需要。而观远数据「挪动轻利用」性能,无需代码开发,仅需将仪表板的可视化图表进行简略利落拽,即可实现利用搭建。业务能够依据不同的数据分析场景制作不同专题的挪动端剖析看板,既大大节俭了研发资源,又能疾速响应业务需要。 观远数据秉承「操作要简化、成果不打折」准则,仅需三步,即可疾速打造企业挪动端数据分析助手。 01 梳理页面构造图源:观远数据演示零碎 一个轻利用能够蕴含多个页面,作为一个有意义的轻利用,页面之间是有机分割的,而不是简略重叠,如果间接将所有页面公布到挪动端,所有页面会平铺在挪动端目录里。 因而,在创立轻利用之前,须要依据这些页面进行构造整顿。如上图所示,能够将不同的页面分为销售详情、商品、门店、会员四类。 02 搭建挪动轻利用以咱们梳理的「挪动端轻利用」构造为例,其分为两层构造,因而,咱们用一个底部导航+一个顶部导航来搭建。 第一层构造,往底部导航里增加底部标签入口: 第二层构造,往每个底部导航里填充第二级的页面内容: 03 晋升轻利用颜值第三步,咱们能够通过调整挪动轻利用的「导航属性」、「页面布局」,来进一步晋升挪动端页面的颜值。 导航组件:调整导航标签页的款式和排布形式,分为底部导航与顶部导航。点击底部导航组件,能够为每个导航入口配置对应的图标,使轻利用更丰盛也更形象;点击顶部导航组件,能够调整导航标签页的款式和排布形式。筛选器组件:在挪动端布局页面,点击“筛选器组件”,能够将多个筛选器组合展现。如果多个筛选器独自排列,挤占空间,且会随着页面滑动滚走,如果要切换选项,需从新回到页面顶部;将多个筛选器放到筛选器组中,不影响应用的前提下,布局更紧凑,且性能上反对页面滚动时主动吸顶,切换选项更加不便。指标卡组件:包含单指标卡和比照指标卡,能改简洁明了地展现要害KPI。当大量指标卡重叠到一起时会发现,一排两个有时会因数值太大、文本过长等导致局部信息展现不全,一排一个又节约空间,此时能够应用KPI组件帮忙排版卡片,使之布局更正当好看。只需三步,五分钟即可搭建实现一个简略的“挪动轻利用”;并反对嵌入企业原生app,也反对与办公挪动软件如钉钉、企业微信、飞书的集成,无需额定的下载安装,一个观远挪动轻利用就曾经在你手机里了。 3.无限的挪动端屏幕,有限的视觉表白多行业模板:业余实用、高效搭建不同行业对数据分析有不同的利用场景与需要,咱们打造了不同的行业利用模板,企业能够间接应用或在此基础上进行调整,实现搭建效率的极大晋升;模板的视觉和布局格调丰盛多样,兼顾好看度、专业性和实用性,可根本满足各行业的需要。 图源:观远数据演示零碎 挪动端门户:好看有序、沉迷式体验当企业有多条业务线,搭建起多个不同主题的轻利用时,治理老本就会随之变大。因而,观远数据推出了「挪动端门户」,作为企业对立的挪动BI入口,使多个剖析场景、多个挪动轻利用都能对立治理,既能加重泛滥轻利用的保护老本;又好看有条理,有利于企业形象的打造。挪动端门户的搭建同样简略、易上手。 门户页门户页包含页头、背景、利用列表、页脚等内容。利用可抉择卡片式或图标式,卡片式可上传封面背景,能够自定义封面款式,达到更多成果,若门户须要展现的内容过多,倡议以图标模式显示;咱们能够依照主次给利用分组,不同的分组可选用不同的款式。图源:观远数据演示零碎利用挪动端门户不仅能够承接「挪动轻利用」,仪表板、外链等内容都可成为「利用」的一种。利用的属性设置项包含:入口名称、入口封面,不同内容类型(轻利用/页面/卡片/外链),属性栏反对的设置项各不相同。利用组当利用很多时,须要按肯定规定梳理、分组。利用组是门户各种利用内容的容器,利用组可设置组内利用的布局款式,包含卡片式、图标式、列表式等;可设置组内间距,即组内利用之间上下左右的间距和每行利用个数;利用组背景反对纯色和图片两种模式,图片反对用户本人上传。权限治理在门户编辑页,管理员可依据不同的角色层级,配置不同利用的页面拜访、数据编辑权限,实现千人千面。如,总部管理层权限最大,能够拜访、编辑所有页面和数据;区域管理层的权限放大到所在区域;门店管理者的权限只限于所在门店。在「挪动轻利用」性能的后续迭代中,观远数据打算将积攒的设计资产积淀到产品中,搭建一个丰盛的素材库,蕴含不同类型的「格调包」,每种类型下涵盖对立配色计划的页面模板、组件、残缺的企业icon与各类常见图表,帮忙业务人员可能依据不同剖析场景疾速搭建起好看、实用的挪动轻利用,堪称是「保姆级」的企业BI资源素材。 「进一步升高产品的应用门槛,加强产品的可拓展性」是观远数据迭代性能的初心,咱们将始终以学习和改良的心态,与咱们的客户一起成长,让「决策更智能」。 10月13日,观远数据产品总监 亚木,将为大家深度介绍观远数据「Smart ETL」性能:百倍压缩、秒级查问!如何高效解决数据? 关注观远GUANDATA公众号,理解更多利用性能!

September 27, 2021 · 1 min · jiezi

关于大数据处理:云原生的数据云下一个十年的数字化转型趋势

数据量越宏大,数字化转型的意义也就越大,但转型这件事与企业外部多个技术部门严密相干,它不是某一个独自的团队可能独立实现的工作,而是须要企业的业务部门、数据资产治理、开发利用等更多部门协同单干,因而,越是大型企业数字化转型的难度就越简单。企业须要突破传统烟囱式架构设计,用全新的数据云模式来实现数字化转型。 01数据、利用、基础设施—数字化转型亟待解决的三大难题 对于企业而言数字化转型蕴含三个因素:利用、数据和基础设施。而目前阶段,企业的每个因素都存在着不同的问题。 对于企业应用而言,不同的利用都是由不同团队独立建设、独立开发的烟囱式架构,这种架构导致企业不得不反复造轮子,岂但造成人力和资源的极大节约,同时也减少了运维和治理的老本。 烟囱式架构设计导致的另外一个问题就是数据孤岛景象,因为不同团队各自建设利用,数据没有买通,或者同一份数据在多个业务零碎内保留,短少统一标准,导致难以进行数据管控和品质晋升,也难以从一个个孤岛中开掘数据的价值。 最初一个因素是基础设施,企业在不同期间建设利用的时候,采纳的基础架构也不同,基础设施多种多样,包含传统物理机部署、虚拟化部署、虚拟机部署、云部署、云原生部署等,基础设施不对立,导致建设利用、归集数据的压力十分大。 02大数据与云技术的倒退与交融 八九十年代时,企业应用少数是单体建设,基于独立的数据库、物理机或者虚拟化的形式。2000 年左右云计算呈现了,建设利用的模式也产生了变动,对数据而言,这个阶段曾经做到云上的对立收集。2018 年之后,云原生的概念倒退起来,企业心愿本人的利用是基于原生进行部署的,享受云原生带来的疾速、弹性、灵便按需等能力。 对于大数据技术,曾经从数据的对立归集到了大数据 3.0 模式,从数据资产到价值再到数据服务化。而当初对基础设施的要求就是能通过一套云原生的基础设施去承载企业的不同利用,收集企业的所有数据,进行企业数据化转型的大数据底座的建设。 数据是企业十分重要的生产因素,数据和数据价值的演进也通过了四个阶段:通过数据仓库和数据库对数据进行对立收集整理的数据统一化阶段、通过数据治理造成高质量数据的数据业务化阶段、通过数据智能与剖析实现数据资产化的阶段以及通过数据共享交易实现数据的生态化阶段。 随着数据价值的演进,大数据和云技术也在一直演进以适应这种数据价值的开掘,大数据的倒退链条是从 2004年Google 提出大数据分布式计算框架 MapReduce,到加州大学伯克利分校的AMP实验室所开源的专为大规模数据处理而设计的疾速通用的计算引擎Spark,到起初呈现的低延时流解决引擎 Flink等更多机器学习框架大量涌现,解决大数据量大、疾速等的特定需要。2017 年星环科技公布了首个基于容器云的极速大数据平台 Transwarp Data Hub。与此同时,云的技术也在一直演进,从开源的云计算治理平台我的项目 OpenStack到开源的利用容器引擎 Docker 再到当初基于K8S等技术的云原生。 2018 年星环科技,把大数据和云这两条技术进行了交融,星环基于底层云原生基础设施平台,把大数据进行了容器化部署和云原生调度,造成了星环数据云TDC,数据云是以新一代云原生技术为根底,以数据为核心,供残缺的数据利用以及剖析的开发工具,造成数据和利用互联互通的企业级云服务。 03数据云,将来5-10年企业数字化基础设施 随着技术的提高和业务需要演进,企业的利用、数据、基础设施都在不停地迭代,这种迭代也促使数据云从概念走向落地。星环基于云原生的数据云 TDC 实现了数据 PaaS、利用PaaS、剖析 PaaS 三云交融,将来企业的开发人员,就能够在这个标准化的 PaaS 服务之上实现 SaaS 利用的开发,而这也是未来 5-10年企业数字化基础设施建设的新模式。 TDC 的联邦云架构兼容多种根底设置,能够将企业公有云、私有云以及公有云和私有云混合基础设施进行对立接入和对立纳管,可利旧并兼容已建设的 IaaS 根底设置,造成残缺的云基础设施,可能反对企业级数据利用云平台的长期演进。 在云在基础设施之上提供了数据 PaaS、剖析 PaaS、利用 PaaS 能力。TDC 剖析 PaaS提供了数据迷信平台、常识图谱平台等智能剖析工具,通过剖析 PaaS 企业能够自主建模造成一些智能化利用;TDC 的利用 PaaS 提供了利用市场和利用开发平台供企业应用开发人员应用,通过利用 PaaS 企业能够建设不同的业务零碎服务不同的部门;TDC的数据 PaaS 是提供大数据平台、大数据开发工具等,通过数据 PaaS 能够解决大数据开发、大数据治理等问题。 除此之外,TDC 提供了数据云治理平台Transwarp Data Cloud Management Platform,有了这个数据云治理平台企业用户就能够自服务的对大数据产品进行部署、运维、装置、扩容、降级。在云治理平台上星环把开源的以及星环自有的产品打包成一个自服务的产品,提供给最终用户。 ...

August 16, 2021 · 1 min · jiezi

关于大数据处理:UCloud一站式智能大数据平台USDP免费版正式发布

背景在大数据业务零碎中,所有技术栈生态均是围绕着存储进行扩大的,目前开源的支流存储技术栈次要蕴含如下 3 种类型: · HDFS:Hadoop 系列套件,蕴含 Hive、HBase、Phoenix 等; · ElasticSearch:蕴含 Logstash、ElasticSearch、Kibana 等; · Kudu:蕴含 Impala 等; 无论针对哪种存储生态,其外层负责数据计算的技术栈很多都是通用的,例如Spark、Flink 简直反对读写所有存储生态中的数据。对于生产环境而言,抉择哪一种存储生态,往往取决于业务状态以及业务部门对不同技术栈的熟练程度。 针对大数据生态中的泛滥服务,Cloudera(CDH,反对HDFS、Kudu生态)与Ambari(HDP,反对HDFS生态) 提供了部署、治理、监控、运维大数据服务组件与大数据节点的能力。但随着Cloudera与Ambari合二为一,CDH与 HDP合并为CDP发行版,在后续的版本中不再提供免费版性能。这对于国内企业的大数据业务无疑减少了不少开发、运维老本,如果持续应用收费的旧版本,将无奈失去新个性的更新反对和BUG的及时修复。 在此背景下,UCloud基于多年大数据平台开发教训,近日全新公布了针对私有化部署场景下的一站式智能大数据平台USDP免费版。免费版USDP反对HDFS、Kudu、ES全生态,助力企业晋升大数据开发、运维效率,疾速构建大数据业务的剖析解决能力。 兼容最广的一站式智能大数据平台 USDP涵盖了HDFS、Hive、HBase、Spark、Flink、Presto、Atlas、Ranger 等泛滥开源大数据组件,反对对这些组件进行运维、中台建设、数据开发、业务可视化等全栈式大数据开发运维治理。USDP通过轻量、易用、傻瓜式的状态交付给用户,反对对不同模块进行拆分,从而实现高度定制化,灵便匹配各垂直行业场景下的需要。 目前,UCloud一站式智能大数据平台USDP所反对的服务如表格所示,同时还在继续拓展更多开源生态组件服务。 相比Cloudera(CDH、CDP)、Ambari(HDP),USDP反对更多丰盛的大数据服务包含Flink、Kylin、Livy、Phoenix、Tez、Elasticsearch、Kibana、Azkaban、Presto、Atlas、Kafka Eagle、ZKUI等,简直涵盖了所有支流技术框架,且所反对的大数据服务之间齐全兼容,用户能够灵便抉择、按需应用。此外,UCloud大数据技术团队继续跟进开源社区停顿以及产品反馈,对潜在的 Bug 进行及时修复,用户无需再思考大数据服务之间的适配问题。在CDH订阅付费模式下,免费版USDP无疑是当下大数据开发运维的最佳抉择! 自研治理组件,平安可靠性更高USDP作为UCloud大数据团队自主研发的一站式智能大数据平台,其整体架构如下图所示: 上图中,Manager Server为USDP治理端服务,需装备一个MySQL实例存储集群相干的元数据信息。Agent为USDP从节点管制端服务,用于治理、操作所在节点以及所在节点上的大数据服务。其中BigData Service为各类大数据服务(例如:HDFS、YARN等)。 InfluxDB、Prometheus、Grafana作为监控服务,用于汇总并展现整个集群的监控数据。 USDP反对起码3个节点,最多上千节点的集群规模,同时,容许Manager Server与Agent等相干服务部署在雷同的节点上,这样满足大型业务的同时,也尽可能帮忙用户应用较小的老本满足小型业务对数据分析的诉求。 USDP一站式智能大数据平台的外围劣势无需放心业务绑定 USDP中所蕴含的大数据服务、组件,均满足 Apache 2.0开源协定,UCloud大数据团队在做过大量兼容性测试后,踊跃回馈社区,并将编译后的兼容包全面公开公布。因为自身紧跟开源社区的步调,用户能够随时进行自主替换、自主建设、自主数据迁徙、集群迁徙等,因而无需放心大数据业务与闭源服务绑定。 傻瓜式部署形式 为了能让用户体验到极简的大数据部署运维、治理计划,USDP提供了丰盛具体的部署、操作文档,并且用户无需放心装置时筹备泛滥内容,初始化环境只须要简略几步,即可主动实现配置。 1-环境查看 2-服务部署 全面丰盛的监控指标 USDP预置的监控指标次要蕴含三局部内容: • JMX全量指标采集 • Http罕用指标采集 • 自定义指标采集 以上三局部监控数据最终将汇总于USDP的 Promethues中,并在每个服务的概览页面中,展现最罕用的监控指标,同时,在Grafana中,通过 USDP官网预置的监控模板(Dashboard),用户能够查看最具体监控指标。如果USDP预置的监控图标无奈满足业务需要,用户也能够自定义增加所需的监控图表。 灵便便捷的告警服务 USDP提供预置的告警模板,用户只须要疏导进行简略配置,即可实现向不同指标(微信、钉钉、邮件、接口调用等)发送集群指标告警的需要。与监控指标的设计类似,如果用户认为预置的告警模板无奈满足业务需要,也能够自定义对告警模板进行批改,或增加新的告警规定。 业余的技术支持 UCloud大数据团队积淀了多年私有云大数据运维和业务调优教训,通过继续更新的文档知识库,为用户提供专家级技术支持,解决应用USDP的后顾之忧。 反哺开源社区 USDP免费版中所应用的开源、全面兼容优化后的服务包,将反哺回开源社区,为开发者提供收费的下载渠道。 USDP解锁丰盛的大数据场景 应用USDP一站式智能大数据平台,能够在各行各业中实现如下利用场景。 数据仓库 ...

May 19, 2021 · 1 min · jiezi

关于大数据处理:大数据背景下房地产行业如何做好数字化转型

在大数据时代背景下,随同着房地产企业的高速倒退,房地产已从增量市场进入存量市场,客户需要从被动向被动、多元化需要倒退。对于房企而言,在行业趋势、政策背景、客户需要等多种因素的驱动下,房企实现数字化经营曾经成为必然趋势。甚至能够说,在行将到来的房企数字化时代下,谁能率先在业内实现数字化转型和经营,谁就能够在将来的倒退过程中更具备话语权。 房地产行业数字化经营有什么劣势呢? 1、能够通过数字化平台,记录客户数据,能精准地把握客户购房信息,进行大数据的存储与剖析,如什么样的户型更受市场喜爱,客户购房动向产生了哪些变动,房企可针对性欠缺产品,做出科学决策。 2、能够间接与客户在线进行交互,突破以往的线下服务场景化。比方,房地产售楼部的征询在线化,通过APP、公众号、小程序就能够实现与客户的在线触达,也能够实时与线上的客户进行沟通,进步房企的服务效率。 3、能够升高开发商对渠道商的依赖,房企能够通过搭建网络销售平台,客户能够间接在公司平台上查看所有我的项目,对客户而言,购房效率更高了,突破了以往购房的地区、空间、工夫的局限性。 4、造成一个生态闭环,房企把握客源,可通过客源反馈一直优化产品,对房企来说,能够一直实现自我更新、自我学习、自我迭代,不必放心在大数据时代下被市场淘汰。 那么,该如何进行数字化转型呢?思迈特软件Smartbi给您答案。 1、Smartbi房地产大数据公司案例-技术解决方案 2、Smartbi房地产大数据公司案例-数据仓库解决方案 数据仓库建设指标: 涵盖全副业务主题,提供欠缺数据根底 -> 齐备性,可扩展性 逐渐进行档次汇总,取得称心查问效率 -> 易用性,高可用性 3、Smartbi房地产大数据公司案例-挪动端业务解决方案 4、Smartbi房地产大数据公司案例-综合看板解决方案 ● 让管理人员对全团体的财务数据、营运数据、预估的财务和营运数据有一个粗疏的理解。并能够通过工夫、业态、机构等维度理解具体的数据,科学决策 ● 剖析团体、城市公司、商场等销售额度、租金、出租率、坪效、客流等营运状况,进行精细化的治理 ● 将营运的外围指标如销售额、坪效,等依照城市公司和商场进行排名, 比照不同公司的营运状况,同一子公司不同商场的营运状况

May 7, 2021 · 1 min · jiezi

关于时序数据库:时序数据库DolphinDB文本数据加载教程

DolphinDB提供以下4个函数,将文本数据导入内存或数据库: loadText: 将文本文件导入为内存表。 ploadText: 将文本文件并行导入为分区内存表。与loadText函数相比,速度更快。 loadTextEx: 将文本文件导入数据库中,包含分布式数据库,本地磁盘数据库或内存数据库。 textChunkDS:将文本文件划分为多个小数据源,再通过mr函数进行灵便的数据处理。 DolphinDB的文本数据导入不仅灵便,功能丰富,而且速度十分快。DolphinDB与Clickhouse, MemSQL, Druid, Pandas等业界风行的零碎相比,单线程导入的速度更快,最多可达一个数量级的劣势;多线程并行导入的状况下,速度劣势更加显著。 本教程介绍文本数据导入时的常见问题,相应的解决方案以及注意事项。 自动识别数据格式大多数其它零碎中,导入文本数据时,须要由用户指定数据的格局。为了不便用户,DolphinDB在导入数据时,可能自动识别数据格式。 自动识别数据格式包含两局部:字段名称辨认和数据类型辨认。如果文件的第一行没有任何一列以数字结尾,那么零碎认为第一行是文件头,蕴含了字段名称。DolphinDB会抽取大量局部数据作为样本,并主动推断各列的数据类型。因为是基于局部数据,某些列的数据类型的辨认可能有误。然而对于大多数文本文件,毋庸手动指定各列的字段名称和数据类型,就能正确地导入到DolphinDB中。 请留神:DolphinDB反对自动识别大部分DolphinDB提供的数据类型,然而目前暂不反对辨认UUID和IPADDR类型,在后续版本中会反对。loadText函数用于将数据导入DolphinDB内存表。下例调用loadText函数导入数据,并查看生成的数据表的构造。例子中波及到的数据文件请参考附录。 dataFilePath="/home/data/candle_201801.csv"tmpTB=loadText(filename=dataFilePath);查看数据表前5行数据: select top 5 * from tmpTB;symbol exchange cycle tradingDay date time open high low close volume turnover unixTime------ -------- ----- ---------- ---------- -------- ----- ----- ----- ----- ------- ---------- -------------000001 SZSE 1 2018.01.02 2018.01.02 93100000 13.35 13.39 13.35 13.38 2003635 2.678558E7 1514856660000000001 SZSE 1 2018.01.02 2018.01.02 93200000 13.37 13.38 13.33 13.33 867181 1.158757E7 1514856720000000001 SZSE 1 2018.01.02 2018.01.02 93300000 13.32 13.35 13.32 13.35 903894 1.204971E7 1514856780000000001 SZSE 1 2018.01.02 2018.01.02 93400000 13.35 13.38 13.35 13.35 1012000 1.352286E7 1514856840000000001 SZSE 1 2018.01.02 2018.01.02 93500000 13.35 13.37 13.35 13.37 1601939 2.140652E7 1514856900000调用schema函数查看表构造(字段名称、数据类型等信息): ...

March 29, 2021 · 8 min · jiezi

关于大数据处理:清明节来了如何利用大数据分析快速选择自己的游玩路线

快到四月份啦,也意味着年后的第一次小长假要来啦,往年的清明节有3天小假期,对于春节仍辛苦工作的打工人来说,是难得的假期。而且又是春暖花开的节令,有数人那颗游览跳动的心开始躁动不安。去哪里玩耍,成为大多数人最为关怀的话题。 这个时候,人们用的最多的就是百度游览了,各种查问,看人们的口碑,从而决定走那条路线了,之后就是倍加苦楚的游览攻略了。其实和下班熬夜没啥区别,满满的打算还是打算,从A想到B,再从B打算到C.......这个过程,属实非常的劳人精力。如果这些汇总的数据不须要人工汇总,而是通过网络爬虫爬出来,而后利用可视化图表将获取的数据进行汇总,而后再根据兴趣爱好进行分类,用户能够输出本人兴趣爱好,就能够取得举荐路线,这样就是极大的晋升用户的效率及玩耍的满意度,毕竟是依照本人的趣味和喜好来的。 其实,这块有些依靠大数据的意思,又波及数据报表及数据汇总展现等等业余相干常识。可能不太了解,您能够设想一下百度地图和高德地图的呈现,让咱们的生存便利性晋升了多少,这个其实就是咱们明天要说的,科技扭转人们的生存。作为大数据和数据展现的利器,Smartbi能够从数据的抓取到数据传输、再到数据计算、存储轻松,并胜利的以各种报表及大屏数据可视化的形式展示给大家。Smartbi帮忙技术人员疾速部署和开发BI零碎包含中国式报表、多维度剖析和可视化仪表盘等。报表剖析软件的设计过程可视化,鼠标利落拽即可疾速实现数据集筹备、可视化摸索和仪表盘的制作,丰盛的可视化展现,轻松制作BI看板。Smartbi就是大数据分析软件及BI工具,反对定制化开发,也就是说零碎自身有本人的一套模式,然而这套模式并不是惟一的,须要什么需要能够依据使用者来制订。 总得来说,在大数据的明天,如果你清明想去哪里玩,无妨利用一下相干的技术,让Smartbi通知你。对于BI工具Smarbi方面有什么想理解的,能够间接征询思迈特软件工作人员,会有专门的技术人员为你解答。

March 25, 2021 · 1 min · jiezi

关于大数据处理:干货丨DolphinDB-API性能基准测试报告

概述DolphinDB是一款高性能分布式时序数据库(time-series database),属于列式关系型数据库,由C++编写,具备内置的并行和分布式计算框架,可用于解决实时数据和海量历史数据。 DolphinDB database除了提供本人的脚本语言外,还提供了C++、Java、C#、Python、R等编程语言API,便于开发者在各种不同的开发环境中应用DolphinDB。 本文将测试API接口(C++、Java、C#、Python、R)与DolphinDB交互的性能,具体包含以下场景: 单用户上传数据到内存表多用户并发上传数据到分布式(DFS)数据库多用户并发从DolphinDB下载数据到客户端多用户并发发送计算工作(计算某天某个股票的分钟级k线)到DolphinDB,并返回后果测试环境2.1 硬件配置 本次测试应用了三台配置雷同的服务器(SERVER1,SERVER2,SERVER3),每台服务器的配置如下: 主机:PowerEdge R730xd CPU:E5-2650 24cores 48线程 内存:512G 硬盘:HDD 1.8T * 12 网络:万兆以太网 OS:CentOS Linux release 7.6.1810 2.2 软件配置 C++ : GCC 4.8.5 JRE : 1.8.0 C# :.net 2.2.105 Python : 3.7.0 R:3.5.2 DolphinDB : 0.94.2 2.3 测试框架 DolphinDB集群部署在SERVER1上,API程序运行在SERVER2和SERVER3上,通过网络连接到SERVER1上的DolphinDB数据节点进行测试。 DolphinDB集群配置如下: 集群蕴含1个管制节点和6个数据节点; 内存:32G/节点 * 6节点 = 192G 线程:8线程/节点 * 6节点 = 48 线程 硬盘:每个节点配置一个独立的HDD硬盘,1.8T/节点 * 6 = 9.6T 单用户上传数据性能测试本节测试单用户通过API上传数据到DolphinDB服务器。在SERVER1的DolphinDB集群上创立一张内存表,SERVER2上运行API程序,将数据写入到SERVER1内存表中。 写入的数据表字段包含STRING、INT、LONG、SYMBOL、DOUBLE、DATE、TIME等不同类型的字段,共45列,每行336字节 ,共上传100万行,大小约336Mb。测试每次上传10~100000 行的状况下的吞吐量和时延。 该场景因为是单用户,并且不会波及到磁盘操作,因而次要测试API程序数据格式到DolphinDB数据格式的转换性能,CPU性能和网络对测试后果会有较大的影响。各个API的测试后果如下: 表1. C++ API单用户上传数据到内存表测试后果 ...

January 28, 2021 · 1 min · jiezi

关于大数据处理:干货丨时序数据库DolphinDB异常检测引擎教程

1. 概述物联网设施(如机床、锅炉、电梯、水表、气表等等)无时无刻不在产生海量的设施状态数据和业务音讯数据,这些数据的在采集、计算、剖析过程中又经常波及异样数据的检测。 DolphinDB作为一个高性能的分布式时序数据库 (time series database),内置了一个流数据框架,既能实时处理剖析这些物联网数据,也能对历史数据进行计算剖析,帮忙用户利用、施展这些数据的价值。DolphinDB内置的流数据框架反对流数据的公布、订阅、预处理、实时内存计算、简单指标的滚动窗口计算等,是一个运行高效,应用便捷的流数据处理框架。具体介绍详见DolphinDB流数据教程。 针对异样数据检测的需要,DolphinDB提供基于流数据框架的异样检测引擎函数,用户只需指定异样指标,异样检测引擎就能够实时地进行异样数据检测。 2. 异样检测引擎框架DolphinDB的异样检测引擎建设在流数据的公布-订阅模型之上。下例中,通过createAnomalyDetectionEngine函数创立异样检测引擎,并通过subscribeTable函数订阅流数据,每次有新数据流入就会按指定规定触发append!{engine},将流数据继续输出异样检测引擎中。异样检测引擎实时检测数据是否合乎用户自定义的警报指标temp>65,如发现异常数据,将它们输入到表outputTable中。 share streamTable(1000:0, `time`device`temp, [TIMESTAMP, SYMBOL, DOUBLE]) as sensorshare streamTable(1000:0, `time`device`anomalyType`anomalyString, [TIMESTAMP, SYMBOL, INT, SYMBOL]) as outputTableengine = createAnomalyDetectionEngine("engine1", <[temp > 65]>, sensor, outputTable, `time, `device, 10, 1)subscribeTable(, "sensor", "sensorAnomalyDetection", 0, append!{engine}, true)这里对异样解决引擎波及到的一些概念做简要介绍: 流数据表:DolphinDB为流式数据提供的一种特定的表对象,提供流式数据的公布性能。通过subscribeTable函数,其余的节点或利用能够订阅和生产流数据。异样解决引擎数据源:为异样解决引擎提供"原料"的通道。createAnomalyDetectionEngine函数返回一个形象表,向这个形象表写入数据,就意味着数据进入异样解决引擎进行计算。异样指标:以元代码的格局提供一组解决流数据的布尔表达式。其中能够蕴含聚合函数,以反对简单的场景。数据窗口:每次计算时截取的流数据窗口长度。数据窗口仅在指标中蕴含聚合函数时有意义。输出表:异样检测引擎的输出表第一列必须是工夫类型,用于寄存检测到异样的工夫戳,如果有指定分组列,那么第二列为分组列,之后的两列别离为int类型和string或symbol类型,用于记录异样的类型(异样指标的表达式在metrics中的下标)和异样的内容。3. 异样指标异样检测引擎中的指标均要求返回布尔值。个别是一个函数或一个表达式。当指标中蕴含聚合函数,必须指定窗口长度和计算的工夫距离,异样检测引擎每隔一段时间,在固定长度的挪动窗口中计算指标。异样指标个别有以下三种类型: 只蕴含列名或非聚合函数,例如qty > 10, lt(qty, prev(qty))。对于这类指标,异样检测引擎会对每一条收到的数据进行计算,判断是否合乎指标并决定是否输入。所有呈现的列名都在聚合函数的参数中,例如avg(qty - price) > 10, percentile(qty, 90) < 100, sum(qty) > prev(sum(qty))。对于这类指标,异样检测引擎只会在窗口产生挪动时对数据进行聚合计算,和工夫序列聚合引擎(Time Series Aggregator)相似。呈现的列名中,既有作为聚合函数的参数,也有不是聚合函数参数,例如avg(qty) > qty, le(med(qty), price)。对于这类指标,异样检测引擎会在在窗口产生挪动时对聚合列进行聚合计算,并在有数据达到时对每一条数据进行计算,其中聚合函数的返回值应用最近一个窗口的计算值。4. 数据窗口当异样指标中蕴含聚合函数时,用户必须指定数据窗口。流数据聚合计算是每隔一段时间,在固定长度的挪动窗口中进行。窗口长度由参数windowSize设定;计算的工夫距离由参数step设定。 在有多组数据的状况下,若每组都依据各自第一条数据进入零碎的工夫来结构数据窗口的边界,则个别无奈将各组的计算结果在雷同数据窗口中进行比照。思考到这一点,零碎依照参数step值确定一个整型的规整尺度alignmentSize,以对各组第一个数据窗口的边界值进行规整解决。 (1)当数据工夫类型为MONTH时,会以第一条数据对应年份的1月作为窗口的上边界。 (2)当数据的工夫类型为DATE时,不对第一个数据窗口的边界值进行规整。 ...

January 21, 2021 · 2 min · jiezi

关于SegmentFault:时序数据库DolphinDB历史数据回放教程

一个量化策略在用于理论交易时,解决实时数据的程序通常为事件驱动。而研发量化策略时,须要应用历史数据进行回测,这时的程序通常不是事件驱动。因而同一个策略须要编写两套代码,不仅耗时而且容易出错。在 DolphinDB database 中,用户可将历史数据依照工夫程序以“实时数据”的形式导入流数据表中,这样就能够应用同一套代码进行回测和实盘交易。 DolphinDB的流数据处理框架采纳公布-订阅-生产的模式。数据生产者将实时数据持续地以流的模式公布给所有数据订阅者。订阅者收到音讯当前,可应用自定义函数或者DolphinDB内置的聚合引擎来解决音讯。DolphinDB流数据接口反对多种语言的API,包含C++, C#, Java, 和Python等。用户能够应用这些API来编写更加简单的解决逻辑,更好地与理论生产环境相结合。详情请参考DolphinDB流数据教程。 本文介绍replay和replayDS函数,而后应用金融数据展现数据回放的过程与利用场景。 1. 函数介绍replay replay(inputTables, outputTables, [dateColumn], [timeColumn], [replayRate], [parallelLevel=1])replay函数的作用是将若干表或数据源同时回放到相应的输出表中。用户须要指定输出的数据表或数据源、输出表、日期列、工夫列、回放速度以及并行度。 replay函数参数概念如下: inputTables: 单个表或蕴含若干表或数据源(见replayDS介绍)的元组。outputTables: 单个表或蕴含若干个表的元组,这些表通常为流数据表。输出表和输出表的个数统一,且一一对应,每对输出、输出表的构造雷同。dateColumn, timeColumn: string, 示意输出表的日期和工夫列,若不指定则默认第一列为日期列。若输出表中工夫列同时蕴含日期和工夫,须要将dateColumn和timeColumn设为同一列。回放时,零碎将依据dateColumn和timeColumn的设定,决定回放的最小工夫精度。在此工夫精度下,同一时刻的数据将在雷同批次输入。比方一张表同时有日期列和工夫列,然而replay函数只设置了dateColumn,那么同一天的所有数据会在一个批次输入。replayRate: 整数, 示意每秒钟回放的数据条数。因为回放时同一个时刻数据在同一批次输入,因而当replayRate小于一个批次的行数时,理论输入的速率会大于replayRate。parallelLevel: 整数, 示意读取数据的并行度。当源数据大小超过内存大小的时候,须要应用replayDS函数将源数据划分为若干个小的数据源,顺次从磁盘中读取数据并回放。指定多个读取数据的线程数可晋升数据读取速度。replayDS replayDS(sqlObj, [dateColumn], [timeColumn], [timeRepartitionSchema])replayDS函数能够将输出的SQL查问转化为数据源,联合replay函数应用。其作用是依据输出表的分区以及timeRepartitionSchema,将原始的SQL查问依照工夫程序拆分成若干小的SQL查问。 replayDS函数参数概念如下: sqlObj: SQL元代码,示意回放的数据,如<select * from sourceTable>。dateColumn: 字符串, 示意日期列。若不指定,默认第一列为日期列。replayDS函数默认日期列是数据源的一个分区列,并依据分区信息将原始SQL查问拆分为多个查问。timeColumn: 字符串, 示意工夫列,配合timeRepartitionSchema应用。timeRepartitionSchema: 工夫类型向量,如08:00:00 .. 18:00:00。若同时指定了timeColumn, 则对SQL查问在工夫维度上进一步拆分。单个内存表回放 单内存表回放只须要设置输出表、输出表、日期列、工夫列和回放速度即可。 replay(inputTable, outputTable, `date, `time, 10)应用data source的单表回放 当单表行数过多时,能够配合应用replayDS进行回放。首先应用replayDS生成data source,本例中指定了日期列和timeRepartitionColumn。回放调用与单个内存表回放类似,然而能够指定回放的并行度。replay外部实现应用了pipeline框架,取数据和输入离开执行。当输出为data source时,多块数据能够并行读取,以防止输入线程期待的状况。此例中并行度设置为2,示意有两个线程同时执行取数据的操作。 inputDS = replayDS(<select * from inputTable>, `date, `time, 08:00:00.000 + (1..10) * 3600000)replay(inputDS, outputTable, `date, `time, 1000, 2)应用data source的多表回放 ...

January 20, 2021 · 2 min · jiezi

阿里云公共DNS正式发布支持IPv6的版本

在10月23日召开的GNTC 2019全球网络技术大会IPv6分论坛上,阿里云高级技术专家张先国宣布支持阿里公共DNS的IPv6版本正式发布,即阿里公共DNS在保持IPv4 稳定解析服务的基础上(Anycast地址为223.5.5.5,和223.6.6.6),还支持了一组IPv6 Anycast地址为 2400:3200::1和2400:3200:baba::1的资源节点,让处于双栈的用户能够通过配置通过IPv6快速访问DNS。 据介绍,阿里双栈公共DNS在保持安全、稳定、低延迟的基本特性之外,还能能够根据大量的IPv4和IPv6端到端测量和精确的IPv6地址区域划分来对A和AAAA地址做智能解析,保证IPv6用户的用户体验。 自去年阿里DNS云解析权威解析服务支持IPv6之后,这次公共DNS支持IPv6意味着阿里云DNS全链路已经支持IPv6。将阿里云DNS一直保持的稳定可靠、安全保障、智能解析、全球部署的特性延伸到IPv6网络环境,继续扮演下一代互联网域名解析“坚若磐石”的角色。 原文链接 本文为云栖社区原创内容,未经允许不得转载。

November 4, 2019 · 1 min · jiezi

数据中台核心方法论OneModel为何需要产品化支撑

作者:渊洛 转自:阿里巴巴数据中台官网 https://dp.alibaba.com 什么是产品化 大部分创业公司都是从一个伟大的想法创意开始的,并且需要有一堆技术专家来实现。我们清楚,伟大的技术并不等同于和伟大的产品,技术可以解决问题,但如果它没有办法法规模化,那这些技术或者能力对用户便没有直接价值,只有把它们拆解,打包,设计成产品,才能真正的解决用户问题,把某些技术或者能力变成产品的过程这个过程,就是产品化。 OneModel方法论 OneModel方法论是以维度建模为理论基础,构建总线矩阵,划分和定义业务板块、数据域、业务过程、维度、度量/原子指标、业务限定、时间周期、派生指标,设计出维度表、明细事实表、汇总事实表的过程。 OneModel的产品化 如前所述,OneModel方法论可以帮准企业建设标准的、稳定的数据中台,但再好的方法论如果不能规模化、产品化,对于客户而言,开发、管理都是更多的开发投入,以及对更多的数据技术专家的依赖。为帮助更多的 企业建设高效、标准的数据中台,阿里巴巴数据中台团队思考如何对OneModel方法论进行产品化。 经过了长时间的产品设计、打磨,最终OneModel的产品化是体现在dataphin中规范建模的模块,通过规范定义,定义维度、业务过程、业务限定、原子指标、派生指标,通过定义、配置以后,自动生成维度逻辑表、事实逻辑表、汇总逻辑表。 OneModel产品化带来的好处 严格落实规范定义 传统开发中,依据文档或者管理约束来规范开发,但由于人员流动、人员能力等客观情况,仍然会有不符合规范的情况发生,借助工具的能力,消除指标的二义性,约束数据研发人员,在开发的过程中能够严格落实设计。 设计即开发,降本增效 OneModel产品化以后,通过配置实现自动化开发,降低数据研发的门槛,能极大解放技术同学,使其快速能完成业务需求,甚至业务人员不需要等待开发人员排期,可以自己来进行数据开发;另外,运维人员快速简单的管理数据、定位问题,降低数据管理运维成本。降低开发运维成本,提高产出效率。 平台化以后,企业可以有更多精力投入稳定性、高性能、技术发展、业务探究等其他重要事项中,企业可以更多的将注意力放到业务数据价值的挖掘上,提高人效,降低了公司的成本。 主题式服务,简化查询分析 在dataphin中,可以配置事实表的关联维度,维度的关联维度,形成类雪花模型的主题式的逻辑表模型,在查询时,查询的是主题式的逻辑表,不需要再写表关联查询。如下所示: 阿里巴巴数据中台团队,致力于输出阿里云数据智能的最佳实践,助力每个企业建设自己的数据中台,进而共同实现新时代下的智能商业! 阿里巴巴数据中台解决方案,核心产品: Dataphin,以阿里巴巴大数据核心方法论OneData为内核驱动,提供一站式数据构建与管理能力; Quick BI,集阿里巴巴数据分析经验沉淀,提供一站式数据分析与展现能力; Quick Audience,集阿里巴巴消费者洞察及营销经验,提供一站式人群圈选、洞察及营销投放能力,连接阿里巴巴商业,实现用户增长。 原文链接 本文为云栖社区原创内容,未经允许不得转载。

November 4, 2019 · 1 min · jiezi

数据上云应该选择全量抽取还是增量抽取

作者:向师富 转自:阿里巴巴数据中台官网https://dp.alibaba.com 概述 数据抽取是指从源数据抽取所需要的数据, 是构建数据中台的第一步。 数据源一般是关系型数据库,近几年,随着移动互联网的蓬勃发展,出现了其他类型的数据源,典型的如网站浏览日期、APP浏览日志、IoT设备日志 从技术实现方式来讲,从关系型数据库获取数据,可以细分为全量抽取、增量抽取2种方式,两种方法分别适用于不用的业务场景 增量抽取 时间戳方式用时间戳方式抽取增量数据很常见,业务系统在源表上新增一个时间戳字段,创建、修改表记录时,同时修改时间戳字段的值。 抽取任务运行时,进行全表扫描,通过比较抽取任务的业务时间、时间戳字段来决定抽取哪些数据。 此种数据同步方式,在准确率方面有两个弊端: 1、只能获取最新的状态,无法捕获过程变更信息,比如电商购物场景,如果客户下单后很快支付,隔天抽取增量数据时,只能获取最新的支付状态,下单时的状态有可能已经丢失。针对此种问题,需要根据业务需求来综合判定是否需要回溯状态。 2、会丢失已经被delete的记录。如果在业务系统中,将记录物理删除。也就无法进行增量抽取。一般情况下,要求业务系统不删除记录,只对记录进行打标。 业务系统维护时间戳 如果使用了Oracle、DB2等传统关系型数据库,需要业务系统维护时间戳字段,业务系统在更新业务数据时,在代码中更新时间戳字段。此种方法很常见,不过由于需要编码实现,工作量会变大,有可能会出现漏变更的情形 触发器维护时间戳 典型的关系型数据库,都支持触发器。当数据库记录有变更时,调用特定的函数,更新时间戳字段。典型的样例如下: 数据库维护时间戳 MySQL可以自动实现变更字段的维护,一定程度上减轻了开发工作量。 具体的实现样例如下: 创建记录 最终的结果如下: 更新记录 最终的结果如下,数据库自动变更了时间戳字段: 分析MySQL binlog日志近几年,随着互联网的蓬勃发展,互联网公司一般使用MySQL作为主数据库,由于是开源数据库,很多公司都做了定制化开发。 其中一个很大的功能点是通过订阅MySQL binlog日志,实现了读写分离、主备实时同步,典型的示意图如下: 解析binlog日志,给数据同步带来了新的方法,将解析之后结果发送到Hive/MaxCompute等大数据平台,实现秒级延时的数据同步。 解析binlog日志增量同步方式技术很先进,有3个非常大的优点: 1.数据延时小。在阿里巴巴双11场景,在巨大的数据量之下,可以做到秒级延时; 2.不丢失数据,可以捕获数据delete的情形; 3.对业务表无额外要求,可以缺少时间戳字段; 当然,这种同步方式也有些缺点: 1.技术门槛很高。一般公司的技术储备不够,不足以自行完成整个系统搭建。目前国内也仅限于头部的互联网公司、大型的国企、央企。不过随着云计算的快速发展,在阿里云上开放了工具、服务,可以直接实现实时同步,经典的组合是MySQL、DTS、Datahub、MaxCompute; 2.资源成本比较高,要求有一个系统实时接收业务库的binlog日志,一直处于运行状态,占用资源较多 3.业务表中需要有主键,以便进行数据排序 分析Oracle Redo Log日志Oracle是功能非常强大的数据库,通过Oracle GoldenGate实时解析Redo Log日志,并将解析后的结果发布到指定的系统 全量抽取 全量抽取是将数据源中的表或视图的数据原封不动的从数据库中抽取出来,并写入到Hive、MaxCompute等大数据平台中,有点类似于业务库之间的数据迁移。 全量同步比较简单,常用于小数据量的离线同步场景。不过这种同步方法,也有两个弊端,与增量离线同步一模一样: 1.只能获取最新的状态  2.会丢失已经被delete的记录 业务库表同步策略 同步架构图 从业务视角,可以将离线数据表同步细分为4个场景,总体架构图表如下: 原则上,在数据上云这个环节,建议只进行数据镜像同步。不进行业务相关的数据转换工作。从ETL策略转变为ELT,出发点有3个: 1.机器成本。在库外进行转换,需要额外的机器,带来新的成本; 2.沟通成本。 业务系统的开发人员,也是数据中台的用户,这些技术人员对原始的业务库表很熟悉,如果进行了额外的转换,他们需要额外的学习其他工具、产品; 3.执行效率。库外的转换机器性能,一般会低于MaxCompute、Hadoop集群,增加了执行时间; 同步过程中,建议全表所有字段上云,减少后期变更成本 小数据量表 来源数据每日全量更新,采用数据库直连方式全量抽取,写入每日/每月全量分区表。日志型表 原始日志增量抽取到每日增量表,按天增量存储。因为日志数据表现为只会有新增不会有修改的情况,因此不需要保存全量表。大数据量表 数据库直连方式通过业务时间戳抽取增量数据到今日增量分区表,再将今日增量分区表merge前一日全量分区表,写入今日全量分区表。小时/分钟增量表/不定期全量 来源数据更新频率较高,达到分钟/小时级别,从源数据库通过时间戳抽取增量数据到小时/分钟增量分区表,将N个小时/分钟增量分区表merge入每日增量分区表,再将今日增量分区表merge前一日全量分区表,写入今日全量分区表。更多内容详见阿里巴巴数据中台官网 https://dp.alibaba.com 阿里巴巴数据中台团队,致力于输出阿里云数据智能的最佳实践,助力每个企业建设自己的数据中台,进而共同实现新时代下的智能商业! 阿里巴巴数据中台解决方案,核心产品: Dataphin,以阿里巴巴大数据核心方法论OneData为内核驱动,提供一站式数据构建与管理能力; Quick BI,集阿里巴巴数据分析经验沉淀,提供一站式数据分析与展现能力; Quick Audience,集阿里巴巴消费者洞察及营销经验,提供一站式人群圈选、洞察及营销投放能力,连接阿里巴巴商业,实现用户增长。 ...

November 4, 2019 · 1 min · jiezi

什么是流式计算

一、流式计算的背景在日常生活中,我们通常会先把数据存储在一张表中,然后再进行加工、分析,这里就涉及到一个时效性的问题。如果我们处理以年、月为单位的级别的数据,那么多数据的实时性要求并不高;但如果我们处理的是以天、小时,甚至分钟为单位的数据,那么对数据的时效性要求就比较高。在第二种场景下,如果我们仍旧采用传统的数据处理方式,统一收集数据,存储到数据库中,之后在进行分析,就可能无法满足时效性的要求。 二、流式计算与批量计算大数据的计算模式主要分为批量计算(batch computing)、流式计算(stream computing)、交互计算(interactive computing)、图计算(graph computing)等。其中,流式计算和批量计算是两种主要的大数据计算模式,分别适用于不同的大数据应用场景。 流数据(或数据流)是指在时间分布和数量上无限的一系列动态数据集合体,数据的价值随着时间的流逝而降低,因此必须实时计算给出秒级响应。流式计算,顾名思义,就是对数据流进行处理,是实时计算。批量计算则统一收集数据,存储到数据库中,然后对数据进行批量处理的数据计算方式。主要体现在以下几个方面: 1、数据时效性不同:流式计算实时、低延迟, 批量计算非实时、高延迟。 2、数据特征不同:流式计算的数据一般是动态的、没有边界的,而批处理的数据一般则是静态数据。 3、应用场景不同:流式计算应用在实时场景,时效性要求比较高的场景,如实时推荐、业务监控…批量计算一般说批处理,应用在实时性要求不高、离线计算的场景下,数据分析、离线报表等。 4、运行方式不同,流式计算的任务持续进行的,批量计算的任务则一次性完成。 三、流式计算框架、平台与相关产品第一类,商业级流式计算平台(IBM InfoSphere Streams、IBM StreamBase等); 第二类,开源流式计算框架(Twitter Storm、S4等); 第三类,公司为支持自身业务开发的流式计算框架。 Strom:Twitter 开发的第一代流处理系统。 Heron:Twitter 开发的第二代流处理系统。 Spark streaming:是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。 Flink:是一个针对流数据和批数据的分布式处理引擎。 Apache Kafka:由Scala写成。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。 四、流式计算主要应用场景流式处理可以用于两种不同场景: 事件流和持续计算。 1、事件流 事件流具能够持续产生大量的数据,这类数据最早出现与传统的银行和股票交易领域,也在互联网监控、无线通信网等领域出现、需要以近实时的方式对更新数据流进行复杂分析如趋势分析、预测、监控等。简单来说,事件流采用的是查询保持静态,语句是固定的,数据不断变化的方式。 2、持续计算 比如对于大型网站的流式数据:网站的访问PV/UV、用户访问了什么内容、搜索了什么内容等,实时的数据计算和分析可以动态实时地刷新用户访问数据,展示网站实时流量的变化情况,分析每天各小时的流量和用户分布情况; 比如金融行业,毫秒级延迟的需求至关重要。一些需要实时处理数据的场景也可以应用Storm,比如根据用户行为产生的日志文件进行实时分析,对用户进行商品的实时推荐等。 五、流式计算的价值通过大数据处理我们获取了数据的价值,但是数据的价值是恒定不变的吗?显然不是,一些数据在事情发生后不久就有了更高的价值,而且这种价值会随着时间的推移而迅速减少。流处理的关键优势在于它能够更快地提供洞察力,通常在毫秒到秒之间。 流式计算的价值在于业务方可在更短的时间内挖掘业务数据中的价值,并将这种低延迟转化为竞争优势。比方说,在使用流式计算的推荐引擎中,用户的行为偏好可以在更短的时间内反映在推荐模型中,推荐模型能够以更低的延迟捕捉用户的行为偏好以提供更精准、及时的推荐。 流式计算能做到这一点的原因在于,传统的批量计算需要进行数据积累,在积累到一定量的数据后再进行批量处理;而流式计算能做到数据随到随处理,有效降低了处理延时。

September 9, 2019 · 1 min · jiezi

揭秘学好大数据之后究竟能做什么

大数据这个词已经成为时下的热点话题,很多人都会说这个行业非常火爆,拥有很好的就业前景,但身在院校的学生对于行业和市场没有太多的了解,即使自己学习大数据也不清楚能找什么工作,现在小编就来帮助大家解决这个困惑。 大数据可以广泛应用于医疗行业、能源行业、通信行业、零售业、金融行业、体育行业等各行业,为数据的采集、传输、存储、分析等各个环节提供技术支持,既方便快捷也给行业内部产生巨大的经济价值,那些提供大数据基础设施和大数据软件技术服务的企业也都得到了快速发展。 学习大数据之后可以从事很多工作,比如说:hadoop 研发工程师、大数据研发工程师、大数据分析工程师、数据库工程师、hadoop运维工程师、大数据运维工程师、java大数据工程师、spark工程师等等都是我们可以从事的工作岗位! 如果你想要学好大数据最好加入一个好的学习环境,可以来这个Q群251956502 这样大家学习的话就比较方便,还能够共同交流和分享资料 简单举例来讲 1 如果你想做Hadoop开发工程师 那你需要学习的技术就是: a. 基于hadoop、hive等构建数据分析平台,进行数据平台架构设计、开发分布式计算业务; b. 应用大数据、数据挖掘、分析建模等技术,对海量数据进行挖掘,发现其潜在的关联规则; c. 对hadoop、hive、hbase、Map/Reduce相关产品进行预研、开发; d. 通过Hadoop相关技术解决海量数据处理问题、大数据量的分析。 e. Hadoop相关业务脚本的性能优化与提升,不断提高系统运行效率; 2 如果你想做Hadoop运维工程师 你需要具备以下技术知识: a. 平台大数据环境的部署维护和技术支持; b. 应用故障的处理跟踪及统计汇总分析; c. 应用安全,数据的日常备份和应急恢复;

July 13, 2019 · 1 min · jiezi

大数据分析学习必须用到的工具一定要收藏

简单来说,我们可以把大数据分析工具简单分成两个维度: 第一维度:数据存储层——数据报表层——数据分析层——数据展现层 第二维度:用户级——部门级——企业级——BI级 1、数据存储层 数据存储涉及到数据库的概念和数据库语言,这方面不一定要深钻研,但至少要理解数据的存储方式、数据的基本结构和数据类型。SQL查询语言必不可少,精通最好。可从常用的select查询,update修改,delete删除,insert插入的基本结构和读取入手。 Access2003. Access07等 ,这是最基本的个人数据库,经常用于个人或部分基本的数据存储;MySQL数据库,这个对于部门]级或者互联网的数据库应用是必要的,这个时候关键掌握数据库的库结构和SQL语言的数据查询能力; SQL Server 2005或更高版本,对中小企业, - -些大型企业也可以采用SQL Server数据库,其实这个时候本身除了数据存储,也包括了数据报表和数据分析了,甚至数据挖掘工具都在其中了; DB2,Oracle数据库都是大型数据库了,主要是企业级,特别是大型企业或者对数据海量存储需求的就是必须的了, 一般大型数据库公司都提供非常好的数据整合应用平台; BI级别,实际上这个不是数据库,而是建立在前面数据库基础上的,企业级应用的数据仓库。DataWarehouse,建立在DW级上的数据存储基本上都是商业智能平台,整合了各种数据分析,报表、分析和展现! BI级别的数据仓库结合BI产品也是近几年的大趋势。 .在入门学习大数据的过程当中有遇见学习,行业,缺乏系统学习路线,系统学习规划,欢迎你加入我的大数据学习交流裙:251956502 ,裙文件有我这几年整理的大数据学习手册,开发工具,PDF文档书籍,你可以自行下载。 2、报表层 企业存储了数据需要读取,需要展现,报表工具是最普遍应用的工具,尤其是在国内。传统报表解决的是展现问题,目前国内的帆软报表FineReport已经算在业内做到顶尖,是带着数据分析思想的报表,因其优异的接口开放功能、填报、表单功能,能够做到打通数据的进出,涵盖了早期商业智能的功能。 Tableau,同FineBI一样,可分在报表层也可分为数据展现层。FineBI和Tableau同属于近年来非常棒的软件,可作为可视化数据分析软件,我常用FineBI从数据库中进行报表和可视化分析。相对而言,可视化Tableau更优,但FineBI又有另一种身份——商业智能,所以在大数据处理方面的能力更胜一筹。 3、数据分析层 这个层其实有很多分析工具,当然我们最常用的就是Excel ,我经常用的就是统计分析和数据挖掘工具; Excel软件,首先版本越高越好用这是肯定的;当然对Excel来讲很多人只是掌握了5%Excel功能,Excel功能非常强大,甚至可以完成所有的统计分析工作!但是我也常说,有能力把Excel玩成统计工具不如专门学会统计软件; SPSS软件:当前版本是18,名字也改成了PASW Statistics ;我从3.0开始Dos环境下编程分析,到现在版本的变迁也可以看出SPSS社会科学统计软件包的变化,从重视医学、化学等开始越来越重视商业分析,现在已经成为了预测分析软件; SAS软件: SAS相对SPSS其实功能更强大,SAS是平台化的,EM挖掘模块平台整合,相对来讲,SAS比较难学些,但如果掌握了SAS会更有价值,比如离散选择模型,抽样问题,正交实验设计等还是SAS比较好用,另外, SAS的学习材料比较多,也公开,会有收获的! JMP分析: SAS的一个分析分支 XLstat : Excel的插件,可以完成大部分SPSS统计分析功能 4、表现层 表现层也叫数据可视化,以上每种工具都几乎提供了一点展现功能。FineBI和Tableau的可视化功能上文有提过。其实,近年来Excel的可视化越来越棒,配上一些插件,使用感更佳。 PPT:办公常用,用来写数据分析报告; Xmind&百度脑图:梳理流程,帮助思考分析,展现数据分析的层次; Xcelsius软件:Dashboard制作和数据可视化报表工具,可以直接读取数据库,在Excel里建模,互联网展现,最大特色还是可以在PPT中实现动态报表。 最后,需要说明的是,这样的分类并不是区分软件,只是想说明软件的应用。有时候我们把数据库就用来进行报表分析,有时候报表就是分析,有时候分析就是展现;当然有时候展现就是分析,分析也是报表,报表就是数据存储了!

July 1, 2019 · 1 min · jiezi

入门教程-5分钟从零构建第一个-Flink-应用

本文转载自 Jark’s Blog ,作者伍翀(云邪),Apache Flink Committer,阿里巴巴高级开发工程师。本文将从开发环境准备、创建 Maven 项目,编写 Flink 程序、运行程序等方面讲述如何迅速搭建第一个 Flink 应用。在本文中,我们将从零开始,教您如何构建第一个 Flink 应用程序。开发环境准备Flink 可以运行在 Linux, Max OS X, 或者是 Windows 上。为了开发 Flink 应用程序,在本地机器上需要有 Java 8.x 和 maven 环境。 如果有 Java 8 环境,运行下面的命令会输出如下版本信息: $ java -versionjava version "1.8.0_65"Java(TM) SE Runtime Environment (build 1.8.0_65-b17)Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)如果有 maven 环境,运行下面的命令会输出如下版本信息:$ mvn -versionApache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)Maven home: /Users/wuchong/dev/mavenJava version: 1.8.0_65, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jreDefault locale: zh_CN, platform encoding: UTF-8OS name: "mac os x", version: "10.13.6", arch: "x86_64", family: "mac"另外我们推荐使用 ItelliJ IDEA (社区免费版已够用)作为 Flink 应用程序的开发 IDE。Eclipse 虽然也可以,但是 Eclipse 在 Scala 和 Java 混合型项目下会有些已知问题,所以不太推荐 Eclipse。下一章节,我们会介绍如何创建一个 Flink 工程并将其导入 ItelliJ IDEA。创建 Maven 项目我们将使用 Flink Maven Archetype 来创建我们的项目结构和一些初始的默认依赖。在你的工作目录下,运行如下命令来创建项目: ...

June 20, 2019 · 2 min · jiezi

360深度实践Flink-与-Storm-协议级对比

作者:张馨予 本文从数据传输和数据可靠性的角度出发,对比测试了 Storm 与 Flink 在流处理上的性能,并对测试结果进行分析,给出在使用 Flink 时提高性能的建议。 Apache Storm、Apache Spark 和 Apache Flink 都是开源社区中非常活跃的分布式计算平台,在很多公司可能同时使用着其中两种甚至三种。对于实时计算来说,Storm 与 Flink 的底层计算引擎是基于流的,本质上是一条一条的数据进行处理,且处理的模式是流水线模式,即所有的处理进程同时存在,数据在这些进程之间流动处理。而 Spark 是基于批量数据的处理,即一小批一小批的数据进行处理,且处理的逻辑在一批数据准备好之后才会进行计算。在本文中,我们把同样基于流处理的 Storm 和 Flink 拿来做对比测试分析。 在我们做测试之前,调研了一些已有的大数据平台性能测试报告,比如,雅虎的 Streaming-benchmarks,或者 Intel 的 HiBench 等等。除此之外,还有很多的论文也从不同的角度对分布式计算平台进行了测试。虽然这些测试 case 各有不同的侧重点,但他们都用到了同样的两个指标,即吞吐和延迟。吞吐表示单位时间内所能处理的数据量,是可以通过增大并发来提高的。延迟代表处理一条数据所需要的时间,与吞吐量成反比关系。 在我们设计计算逻辑时,首先考虑一下流处理的计算模型。上图是一个简单的流计算模型,在 Source 中将数据取出,发往下游 Task ,并在 Task 中进行处理,最后输出。对于这样的一个计算模型,延迟时间由三部分组成:数据传输时间、 Task 计算时间和数据排队时间。我们假设资源足够,数据不用排队。则延迟时间就只由数据传输时间和 Task 计算时间组成。而在 Task 中处理所需要的时间与用户的逻辑息息相关,所以对于一个计算平台来说,数据传输的时间才更能反映这个计算平台的能力。因此,我们在设计测试 Case 时,为了更好的体现出数据传输的能力,Task 中没有设计任何计算逻辑。 在确定数据源时,我们主要考虑是在进程中直接生成数据,这种方法在很多之前的测试标准中也同样有使用。这样做是因为数据的产生不会受到外界数据源系统的性能限制。但由于在我们公司内部大部分的实时计算数据都来源于 kafka ,所以我们增加了从 kafka 中读取数据的测试。 对于数据传输方式,可以分为两种:进程间的数据传输和进程内的数据传输。 进程间的数据传输是指这条数据会经过序列化、网络传输和反序列化三个步骤。在 Flink 中,2个处理逻辑分布在不同的 TaskManager 上,这两个处理逻辑之间的数据传输就可以叫做进程间的数据传输。Flink 网络传输是采用的 Netty 技术。在 Storm 中,进程间的数据传输是 worker 之间的数据传输。早版本的 storm 网络传输使用的 ZeroMQ,现在也改成了 Netty。 ...

June 13, 2019 · 2 min · jiezi

原理解析-Apache-Flink-结合-Kafka-构建端到端的-ExactlyOnce-处理

文章目录:Apache Flink 应用程序中的 Exactly-Once 语义Flink 应用程序端到端的 Exactly-Once 语义示例 Flink 应用程序启动预提交阶段在 Flink 中实现两阶段提交 Operator总结Apache Flink 自2017年12月发布的1.4.0版本开始,为流计算引入了一个重要的里程碑特性:TwoPhaseCommitSinkFunction(相关的Jira)。它提取了两阶段提交协议的通用逻辑,使得通过Flink来构建端到端的Exactly-Once程序成为可能。同时支持一些数据源(source)和输出端(sink),包括Apache Kafka 0.11及更高版本。它提供了一个抽象层,用户只需要实现少数方法就能实现端到端的Exactly-Once语义。 有关TwoPhaseCommitSinkFunction的使用详见文档: TwoPhaseCommitSinkFunction。或者可以直接阅读Kafka 0.11 sink的文档: kafka。 接下来会详细分析这个新功能以及Flink的实现逻辑,分为如下几点。 描述Flink checkpoint机制是如何保证Flink程序结果的Exactly-Once的显示Flink如何通过两阶段提交协议与数据源和数据输出端交互,以提供端到端的Exactly-Once保证通过一个简单的示例,了解如何使用TwoPhaseCommitSinkFunction实现Exactly-Once的文件输出一、Apache Flink应用程序中的Exactly-Once语义当我们说『Exactly-Once』时,指的是每个输入的事件只影响最终结果一次。即使机器或软件出现故障,既没有重复数据,也不会丢数据。 Flink很久之前就提供了Exactly-Once语义。在过去几年中,我们对Flink的checkpoint机制有过深入的描述,这是Flink有能力提供Exactly-Once语义的核心。Flink文档还提供了该功能的全面概述。 在继续之前,先看下对checkpoint机制的简要介绍,这对理解后面的主题至关重要。 次checkpoint是以下内容的一致性快照:应用程序的当前状态输入流的位置Flink可以配置一个固定的时间点,定期产生checkpoint,将checkpoint的数据写入持久存储系统,例如S3或HDFS。将checkpoint数据写入持久存储是异步发生的,这意味着Flink应用程序在checkpoint过程中可以继续处理数据。 如果发生机器或软件故障,重新启动后,Flink应用程序将从最新的checkpoint点恢复处理; Flink会恢复应用程序状态,将输入流回滚到上次checkpoint保存的位置,然后重新开始运行。这意味着Flink可以像从未发生过故障一样计算结果。 在Flink 1.4.0之前,Exactly-Once语义仅限于Flink应用程序内部,并没有扩展到Flink数据处理完后发送的大多数外部系统。Flink应用程序与各种数据输出端进行交互,开发人员需要有能力自己维护组件的上下文来保证Exactly-Once语义。 为了提供端到端的Exactly-Once语义 – 也就是说,除了Flink应用程序内部,Flink写入的外部系统也需要能满足Exactly-Once语义 – 这些外部系统必须提供提交或回滚的方法,然后通过Flink的checkpoint机制来协调。 分布式系统中,协调提交和回滚的常用方法是两阶段提交协议。在下一节中,我们将讨论Flink的TwoPhaseCommitSinkFunction是如何利用两阶段提交协议来提供端到端的Exactly-Once语义。 二、Flink应用程序端到端的Exactly-Once语义我们将介绍两阶段提交协议,以及它如何在一个读写Kafka的Flink程序中实现端到端的Exactly-Once语义。Kafka是一个流行的消息中间件,经常与Flink一起使用。Kafka在最近的0.11版本中添加了对事务的支持。这意味着现在通过Flink读写Kafaka,并提供端到端的Exactly-Once语义有了必要的支持。 Flink对端到端的Exactly-Once语义的支持不仅局限于Kafka,您可以将它与任何一个提供了必要的协调机制的源/输出端一起使用。例如Pravega,来自DELL/EMC的开源流媒体存储系统,通过Flink的TwoPhaseCommitSinkFunction也能支持端到端的Exactly-Once语义。 在今天讨论的这个示例程序中,我们有: 从Kafka读取的数据源(Flink内置的KafkaConsumer)窗口聚合将数据写回Kafka的数据输出端(Flink内置的KafkaProducer)要使数据输出端提供Exactly-Once保证,它必须将所有数据通过一个事务提交给Kafka。提交捆绑了两个checkpoint之间的所有要写入的数据。这可确保在发生故障时能回滚写入的数据。但是在分布式系统中,通常会有多个并发运行的写入任务的,简单的提交或回滚是不够的,因为所有组件必须在提交或回滚时“一致”才能确保一致的结果。Flink使用两阶段提交协议及预提交阶段来解决这个问题。 在checkpoint开始的时候,即两阶段提交协议的“预提交”阶段。当checkpoint开始时,Flink的JobManager会将checkpoint barrier(将数据流中的记录分为进入当前checkpoint与进入下一个checkpoint)注入数据流。 brarrier在operator之间传递。对于每一个operator,它触发operator的状态快照写入到state backend。 数据源保存了消费Kafka的偏移量(offset),之后将checkpoint barrier传递给下一个operator。 这种方式仅适用于operator具有『内部』状态。所谓内部状态,是指Flink state backend保存和管理的 -例如,第二个operator中window聚合算出来的sum值。当一个进程有它的内部状态的时候,除了在checkpoint之前需要将数据变更写入到state backend,不需要在预提交阶段执行任何其他操作。Flink负责在checkpoint成功的情况下正确提交这些写入,或者在出现故障时中止这些写入。 三、示例Flink应用程序启动预提交阶段但是,当进程具有『外部』状态时,需要作些额外的处理。外部状态通常以写入外部系统(如Kafka)的形式出现。在这种情况下,为了提供Exactly-Once保证,外部系统必须支持事务,这样才能和两阶段提交协议集成。 在本文示例中的数据需要写入Kafka,因此数据输出端(Data Sink)有外部状态。在这种情况下,在预提交阶段,除了将其状态写入state backend之外,数据输出端还必须预先提交其外部事务。 当checkpoint barrier在所有operator都传递了一遍,并且触发的checkpoint回调成功完成时,预提交阶段就结束了。所有触发的状态快照都被视为该checkpoint的一部分。checkpoint是整个应用程序状态的快照,包括预先提交的外部状态。如果发生故障,我们可以回滚到上次成功完成快照的时间点。 下一步是通知所有operator,checkpoint已经成功了。这是两阶段提交协议的提交阶段,JobManager为应用程序中的每个operator发出checkpoint已完成的回调。 数据源和 widnow operator没有外部状态,因此在提交阶段,这些operator不必执行任何操作。但是,数据输出端(Data Sink)拥有外部状态,此时应该提交外部事务。 ...

May 29, 2019 · 1 min · jiezi

大数据开发过程中的5个学习通用步骤

大数据的开发过程,如图1-1所示。 图 1-1大数据开发通用步骤图 上图只是一个简化后的步骤和流程,实际开发中,有的步骤可能不需要,有的还需要增加步骤,有的流程可能更复杂,因具体情况而定。 下面以Google搜索引擎为例,来说明以上步骤。 如果你想要学好大数据最好加入一个好的学习环境,可以来这个Q群529867072 这样大家学习的话就比较方便,还能够共同交流和分享资料 大数据采集Google的数据来源于互联网上的网页,它们由Google Spider(蜘蛛、爬虫、机器人)来抓取,抓取的原理也很简单,就是模拟我们人的行为,来访问各个网页,然后保存网页内容。 Google Spider是一个程序,运行在全球各地的Google服务器之中,Spider们非常勤奋,日夜不停地工作。点击领取免费资料及课 2008年Google数据表明,它们每天都会访问大约200亿个网页,而在总量上,它们追踪着300亿个左右的独立URL链接。 可以说,只要是互联网上的网站,只要没有在robots.txt文件禁止Spider访问的话,其网页基本上都会在很短的时间内,被抓取到Google的服务器上。 全球的网页,这是典型的大数据。因此,Google Spider所做的就是典型的大数据采集工作。 大数据预处理Google Spider爬取的网页,无论是从格式还是结构等,都不统一,为了便于后续处理,需要先做一些处理,例如,在存储之前,先转码,使用统一的格式对网页进行编码,这些工作就是预处理。 大数据存储网页经过预处理后,就可以存储到Google的服务器上。 2008年,Google已经索引了全世界1万亿个网页,到2014年,这个数字变成了30万亿个。 为了减少开销,节约空间,Google将多个网页文件合并成一个大文件,文件大小通常在1GB以上。 这还是15年以前的数字,那时,主流台式机硬盘也就是60GB左右,1GB的文件在当时可以说是大文件了。 为了实现这些大文件高效、可靠、低成本存储,Google发明了一种构建在普通商业机器之上的分布式文件系统:Google File System,缩写为GFS,用来存储文件(又称之为非结构化数据)。 网页文件存储下来后,就可以对这些网页进行处理了,例如统计每个网页出现的单词以及次数,统计每个网页的外链等等。 这些被统计的信息,就成为了数据库表中的一个属性,每个网页最终就会成为数据库表中的一条或若干条记录。 由于Google存储的网页太多,30万亿个以上,因此,这个数据库表也是超级庞大的,传统的数据库,像Oracle等,根本无法处理这么大的数据,因此Google基于GFS,发明了一种存储海量结构化数据(数据库表)的分布式系统Bigtable。 上述两个系统(GFS和Bigtable)并未开源,Google仅通过文章的形式,描述了它们的设计思想。 所幸的是,基于Google的这些设计思想,时至今日,已经出现了不少开源海量数据分布式文件系统,如HDFS等,也出现了许多开源海量结构化数据的分布式存储系统,如HBase、Cassandra等,它们分别用于不同类型大数据的存储。 总之,如果采集过来的大数据需要存储,要先判断数据类型,再确定存储方案选型; 如果不需要存储(如有的流数据不需要存储,直接处理),则直接跳过此步骤,进行处理。 在这里还是要推荐下我自己建的大数据学习交流群:529867072,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴加入。4. 大数据处理 网页存储后,就可以对存储的数据进行处理了,对于搜索引擎来说,主要有3步: 1)单词统计:统计网页中每个单词出现的次数; 2)倒排索引:统计每个单词所在的网页URL(Uniform Resource Locator统一资源定位符,俗称网页网址)以及次数; 3)计算网页级别:根据特定的排序算法,如PageRank,来计算每个网页的级别,越重要的网页,级别越高,以此决定网页在搜索返回结果中的排序位置。 例如,当用户在搜索框输入关键词“足球”后,搜索引擎会查找倒排索引表,得到“足球”这个关键词在哪些网页(URL)中出现,然后,根据这些网页的级别进行排序,将级别最高的网页排在最前面,返回给用户,这就是点击“搜索”后,看到的最终结果。 大数据处理时,往往需要从存储系统读取数据,处理完毕后,其结果也往往需要输出到存储。因此,大数据处理阶段和存储系统的交互非常频繁。 大数据可视化大数据可视化是将数据以图形的方式展现出来,与纯粹的数字表示相比,图形方式更为直观,更容易发现数据之间的规律。 例如,Google Analytics是一个网站流量分析工具,它统计每个用户使用搜索引擎访问网站的数据,然后得到每个网站的流量信息,包括网站每天的访问次数,访问量最多的页面、用户的平均停留时间、回访率等,所有数据都以图形的方式,直观地显示出来,如图1-2所示 图1-2 Google网站访问量分析图

May 5, 2019 · 1 min · jiezi

如何进入现在较火热的大数据领域学习路线是什么

大数据不是某个专业或一门编程语言,实际上它是一系列技术的组合运用。有人通过下方的等式给出了大数据的定义。大数据 = 编程技巧 + 数据结构和算法 + 分析能力 + 数据库技能 + 数学 + 机器学习 + NLP + OS + 密码学 + 并行编程虽然这个等式看起来很长,需要学习的东西很多,但付出和汇报是成正比的,至少和薪资是成正比的。既然要学的知识很多,那么一个正确的学习顺序就非常关键了。 「大数据」制定了一条专业的学习路径,希望帮助大家少走弯路。主要分为 7 个阶段:入门知识 → Java 基础 → Scala 基础 → Hadoop 技术模块 → Hadoop 项目实战 → Spark 技术模块 → 大数据项目实战。其中,阶段一到阶段五均为免费课程,具体说来:阶段一:学习入门知识这一部分主要针对的是新手,在学习之前需要先掌握基本的数据库知识。MySQL 是一个 DBMS(数据库管理系统),是最流行的关系型数据库管理系统(关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据)。MongoDB 是 IT 行业非常流行的一种非关系型数据库(NoSQL),其灵活的数据存储方式备受当前 IT 从业人员的青睐。而 Redis 是一个开源、支持网络、基于内存、键值对存储数据库。两者都非常有必要了解。 QQ_20181215190246 学习大数据首先我们要学习Java语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Java大家都知道Java的方向有JavaSE、JavaEE、JavaME,学习大数据要学习那个方向呢?只需要学习Java的标准版JavaSE就可以了,像Servlet、JSP、Tomcat、Struts、Spring、Hibernate,Mybatis都是JavaEE方向的技术在大数据技术里用到的并不多,只需要了解就可以了,当然Java怎么连接数据库还是要知道的,像JDBC一定要掌握一下。有同学说Hibernate或Mybites也能连接数据库啊,为什么不学习一下,我这里不是说学这些不好,而是说学这些可能会用你很多时间,到最后工作中也不常用,我还没看到谁做大数据处理用到这两个东西的,当然你的精力很充足的话,可以学学Hibernate或Mybites的原理,不要只学API,这样可以增加你对Java操作数据库的理解,因为这两个技术的核心就是Java的反射加上JDBC的各种使用。 Linux因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。好说完基础了,再说说还需要学习哪些大数据技术,可以按我写的顺序学下去。 Hadoop这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。 YARN是体现Hadoop平台概念的重要组件有了它大数据生态体系的其它软件就能在hadoop上运行了,这样就能更好的利用HDFS大存储的优势和节省更多的资源比如我们就不用再单独建一个spark的集群了,让它直接跑在现有的hadoop yarn上面就可以了。 其实把Hadoop的这些组件学明白你就能做大数据的处理了,只不过你现在还可能对"大数据"到底有多大还没有个太清楚的概念,听我的别纠结这个。等以后你工作了就会有很多场景遇到几十T/几百T大规模的数据,到时候你就不会觉得数据大真好,越大越有你头疼的。当然别怕处理这么大规模的数据,因为这是你的价值所在,让那些个搞Javaee的php的html5的和DBA的羡慕去吧。 图片描述 记住学到这里可以作为你学大数据的一个节点。 Zookeeper这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。 Mysql我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。 Sqoop这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。Hive这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapReduce程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。.在入门学习大数据的过程当中有遇见学习,行业,缺乏系统学习路线,系统学习规划,欢迎你加入我的大数据学习交流裙:529867072 ,裙文件有我这几年整理的大数据学习手册,开发工具,PDF文档书籍,你可以自行下载。图片描述 Oozie既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapReduce、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。Hbase这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。 Kafka这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了。因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。 ...

May 4, 2019 · 1 min · jiezi

做大数据工程师需要掌握哪些技能呢

大数据是眼下非常时髦的技术名词,与此同时自然也催生出了一些与大数据处理相关的职业,通过对数据的挖掘分析来影响企业的商业决策。 Hadoop工程师用人企业普遍要求掌握以下技术: 1、熟悉Linux开发环境,熟悉Shell命令 2、熟悉Java、python、scala语言(至少一种) 3、具备较丰富的基于Hadoop、Map Reduce、Yarn、Storm、Spark、Hive、Hbase、kafka、Flume、HDFS、Spark Streaming等的大数据处理项目经验。 .在入门学习大数据的过程当中有遇见学习,行业,缺乏系统学习路线,系统学习规划,欢迎你加入我的大数据学习交流裙:529867072 ,裙文件有我这几年整理的大数据学习手册,开发工具,PDF文档书籍,你可以自行下载。 .在入门学习大数据的过程当中有遇见学习,行业,缺乏系统学习路线,系统学习规划,欢迎你加入我的大数据学习交流裙:529867072 ,裙文件有我这几年整理的大数据学习手册,开发工具,PDF文档书籍,你可以自行下载。 于是每家公司对大数据工作的要求不尽相同:有的强调数据库编程、有的突出应用数学和统计学知识、有的则要求有咨询公司或投行相关的经验、有些是希望能找到懂得产品和市场的应用型人才。正因为如此,很多公司会针对自己的业务类型和团队分工,给这群与大数据打交道的人一些新的头衔和定义:数据挖掘工程师、大数据专家、数据研究员、用户分析专家等都是经常在国内公司里出现的Title,我们将其统称为“大数据工程师”。 由于国内的大数据工作还处在一个有待开发的阶段,因此能从其中挖掘出多少价值完全取决于工程师的个人能力。已经身处这个行业的专家给出了一些人才需求的大体框架,包括要有计算机编码能力、数学及统计学相关背景,当然如果能对一些特定领域或行业有比较深入的了解,对于其快速判断并抓准关键因素则更有帮助。 目前国内的大数据应用多集中在互联网领域,有超过56%的企业在筹备发展大数据研究,“未来5年,94%的公司都会需要数据科学家。” image 大数据只需要学习Java的标准版JavaSE就可以了,像Servlet、JSP、Tomcat、Struct、Spring、Hibernate,Mybaits都是JavaEE方向的技术在大数据技术里用到的并不多,只需要了解就可以了,当然Java怎么连接数据库还是要知道的,像JDBC一定要掌握一下,有同学说Hibernate或Mybaits也能连接数据库啊,为什么不学习一下,我这里不是说学这些不好,而是说学这些可能会用你很多时间,到最后工作中也不常用,我还没看到谁做大数据处理用到这两个东西的,当然你的精力很充足的话,可以学学Hibernate或Mybaits的原理,不要只学API,这样可以增加你对Java操作数据库的理解,因为这两个技术的核心就是Java的反射加上JDBC的各种使用。 Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。 好说完基础了,再说说还需要学习哪些大数据技术,可以按我写的顺序学下去。 Hadoop:这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。YARN是体现Hadoop平台概念的重要组件有了它大数据生态体系的其它软件就能在hadoop上运行了,这样就能更好的利用HDFS大存储的优势和节省更多的资源比如我们就不用再单独建一个spark的集群了,让它直接跑在现有的hadoop yarn上面就可以了。其实把Hadoop的这些组件学明白你就能做大数据的处理了,只不过你现在还可能对"大数据"到底有多大还没有个太清楚的概念,听我的别纠结这个。等以后你工作了就会有很多场景遇到几十T/几百T大规模的数据,到时候你就不会觉得数据大真好,越大越有你头疼的。当然别怕处理这么大规模的数据,因为这是你的价值所在,让那些个搞Javaee的php的html5的和DBA的羡慕去吧。 Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。 Mysql:我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。 Sqoop:这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。 Hive:这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapReduce程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。 Oozie:既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapReduce、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。 Hbase:这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。 Kafka:这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了,因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。 Spark:它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以操作它,因为它们都是用JVM的。

May 3, 2019 · 1 min · jiezi

大数据方面核心技术有哪些新人必读

大数据技术的体系庞大且复杂,基础的技术包含数据的采集、数据预处理、分布式存储、NoSQL数据库、数据仓库、机器学习、并行计算、可视化等各种技术范畴和不同的技术层面。首先给出一个通用化的大数据处理框架,主要分为下面几个方面:数据采集与预处理、数据存储、数据清洗、数据查询分析和数据可视化。 在这里还是要推荐下我自己建的大数据学习交流群:529867072,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴加入。 一、数据采集与预处理 对于各种来源的数据,包括移动互联网数据、社交网络的数据等,这些结构化和非结构化的海量数据是零散的,也就是所谓的数据孤岛,此时的这些数据并没有什么意义,数据采集就是将这些数据写入数据仓库中,把零散的数据整合在一起,对这些数据综合起来进行分析。数据采集包括文件日志的采集、数据库日志的采集、关系型数据库的接入和应用程序的接入等。在数据量比较小的时候,可以写个定时的脚本将日志写入存储系统,但随着数据量的增长,这些方法无法提供数据安全保障,并且运维困难,需要更强壮的解决方案。 Flume NG作为实时日志收集系统,支持在日志系统中定制各类数据发送方,用于收集数据,同时,对数据进行简单处理,并写到各种数据接收方(比如文本,HDFS,Hbase等)。Flume NG采用的是三层架构:Agent层,Collector层和Store层,每一层均可水平拓展。其中Agent包含Source,Channel和 Sink,source用来消费(收集)数据源到channel组件中,channel作为中间临时存储,保存所有source的组件信息,sink从channel中读取数据,读取成功之后会删除channel中的信息。 NDC,Netease Data Canal,直译为网易数据运河系统,是网易针对结构化数据库的数据实时迁移、同步和订阅的平台化解决方案。它整合了网易过去在数据传输领域的各种工具和经验,将单机数据库、分布式数据库、OLAP系统以及下游应用通过数据链路串在一起。除了保障高效的数据传输外,NDC的设计遵循了单元化和平台化的设计哲学。 Logstash是开源的服务器端数据处理管道,能够同时从多个来源采集数据、转换数据,然后将数据发送到您最喜欢的 “存储库” 中。一般常用的存储库是Elasticsearch。Logstash 支持各种输入选择,可以在同一时间从众多常用的数据来源捕捉事件,能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。 Sqoop,用来将关系型数据库和Hadoop中的数据进行相互转移的工具,可以将一个关系型数据库(例如Mysql、Oracle)中的数据导入到Hadoop(例如HDFS、Hive、Hbase)中,也可以将Hadoop(例如HDFS、Hive、Hbase)中的数据导入到关系型数据库(例如Mysql、Oracle)中。Sqoop 启用了一个 MapReduce 作业(极其容错的分布式并行计算)来执行任务。Sqoop 的另一大优势是其传输大量结构化或半结构化数据的过程是完全自动化的。 流式计算是行业研究的一个热点,流式计算对多个高吞吐量的数据源进行实时的清洗、聚合和分析,可以对存在于社交网站、新闻等的数据信息流进行快速的处理并反馈,目前大数据流分析工具有很多,比如开源的strom,spark streaming等。 Strom集群结构是有一个主节点(nimbus)和多个工作节点(supervisor)组成的主从结构,主节点通过配置静态指定或者在运行时动态选举,nimbus与supervisor都是Storm提供的后台守护进程,之间的通信是结合Zookeeper的状态变更通知和监控通知来处理。nimbus进程的主要职责是管理、协调和监控集群上运行的topology(包括topology的发布、任务指派、事件处理时重新指派任务等)。supervisor进程等待nimbus分配任务后生成并监控worker(jvm进程)执行任务。supervisor与worker运行在不同的jvm上,如果由supervisor启动的某个worker因为错误异常退出(或被kill掉),supervisor会尝试重新生成新的worker进程。 当使用上游模块的数据进行计算、统计、分析时,就可以使用消息系统,尤其是分布式消息系统。Kafka使用Scala进行编写,是一种分布式的、基于发布/订阅的消息系统。Kafka的设计理念之一就是同时提供离线处理和实时处理,以及将数据实时备份到另一个数据中心,Kafka可以有许多的生产者和消费者分享多个主题,将消息以topic为单位进行归纳;Kafka发布消息的程序称为producer,也叫生产者,预订topics并消费消息的程序称为consumer,也叫消费者;当Kafka以集群的方式运行时,可以由一个服务或者多个服务组成,每个服务叫做一个broker,运行过程中producer通过网络将消息发送到Kafka集群,集群向消费者提供消息。Kafka通过Zookeeper管理集群配置,选举leader,以及在Consumer Group发生变化时进行rebalance。Producer使用push模式将消息发布到broker,Consumer使用pull模式从broker订阅并消费消息。Kafka可以和Flume一起工作,如果需要将流式数据从Kafka转移到hadoop,可以使用Flume代理agent,将Kafka当做一个来源source,这样可以从Kafka读取数据到Hadoop。 Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,提供数据同步服务。它的作用主要有配置管理、名字服务、分布式锁和集群管理。配置管理指的是在一个地方修改了配置,那么对这个地方的配置感兴趣的所有的都可以获得变更,省去了手动拷贝配置的繁琐,还很好的保证了数据的可靠和一致性,同时它可以通过名字来获取资源或者服务的地址等信息,可以监控集群中机器的变化,实现了类似于心跳机制的功能。 二、数据存储 Hadoop作为一个开源的框架,专为离线和大规模数据分析而设计,HDFS作为其核心的存储引擎,已被广泛用于数据存储。 HBase,是一个分布式的、面向列的开源数据库,可以认为是hdfs的封装,本质是数据存储、NoSQL数据库。HBase是一种Key/Value系统,部署在hdfs上,克服了hdfs在随机读写这个方面的缺点,与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。 Phoenix,相当于一个Java中间件,帮助开发工程师能够像使用JDBC访问关系型数据库一样访问NoSQL数据库HBase。 Yarn是一种Hadoop资源管理器,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。Yarn由下面的几大组件构成:一个全局的资源管理器ResourceManager、ResourceManager的每个节点代理NodeManager、表示每个应用的Application以及每一个ApplicationMaster拥有多个Container在NodeManager上运行。 Mesos是一款开源的集群管理软件,支持Hadoop、ElasticSearch、Spark、Storm 和Kafka等应用架构。 Redis是一种速度非常快的非关系数据库,可以存储键与5种不同类型的值之间的映射,可以将存储在内存的键值对数据持久化到硬盘中,使用复制特性来扩展性能,还可以使用客户端分片来扩展写性能。 Atlas是一个位于应用程序与MySQL之间的中间件。在后端DB看来,Atlas相当于连接它的客户端,在前端应用看来,Atlas相当于一个DB。Atlas作为服务端与应用程序通讯,它实现了MySQL的客户端和服务端协议,同时作为客户端与MySQL通讯。它对应用程序屏蔽了DB的细节,同时为了降低MySQL负担,它还维护了连接池。Atlas启动后会创建多个线程,其中一个为主线程,其余为工作线程。主线程负责监听所有的客户端连接请求,工作线程只监听主线程的命令请求。 Kudu是围绕Hadoop生态圈建立的存储引擎,Kudu拥有和Hadoop生态圈共同的设计理念,它运行在普通的服务器上、可分布式规模化部署、并且满足工业界的高可用要求。其设计理念为fast analytics on fast data。作为一个开源的存储引擎,可以同时提供低延迟的随机读写和高效的数据分析能力。Kudu不但提供了行级的插入、更新、删除API,同时也提供了接近Parquet性能的批量扫描操作。使用同一份存储,既可以进行随机读写,也可以满足数据分析的要求。Kudu的应用场景很广泛,比如可以进行实时的数据分析,用于数据可能会存在变化的时序数据应用等。 在数据存储过程中,涉及到的数据表都是成千上百列,包含各种复杂的Query,推荐使用列式存储方法,比如parquent,ORC等对数据进行压缩。Parquet 可以支持灵活的压缩选项,显著减少磁盘上的存储。 三、数据清洗 MapReduce作为Hadoop的查询引擎,用于大规模数据集的并行计算,”Map(映射)”和”Reduce(归约)”,是它的主要思想。它极大的方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统中。 随着业务数据量的增多,需要进行训练和清洗的数据会变得越来越复杂,这个时候就需要任务调度系统,比如oozie或者azkaban,对关键任务进行调度和监控。 Oozie是用于Hadoop平台的一种工作流调度引擎,提供了RESTful API接口来接受用户的提交请求(提交工作流作业),当提交了workflow后,由工作流引擎负责workflow的执行以及状态的转换。用户在HDFS上部署好作业(MR作业),然后向Oozie提交Workflow,Oozie以异步方式将作业(MR作业)提交给Hadoop。这也是为什么当调用Oozie 的RESTful接口提交作业之后能立即返回一个JobId的原因,用户程序不必等待作业执行完成(因为有些大作业可能会执行很久(几个小时甚至几天))。Oozie在后台以异步方式,再将workflow对应的Action提交给hadoop执行。 Azkaban也是一种工作流的控制引擎,可以用来解决有多个hadoop或者spark等离线计算任务之间的依赖关系问题。azkaban主要是由三部分构成:Relational Database,Azkaban Web Server和Azkaban Executor Server。azkaban将大多数的状态信息都保存在MySQL中,Azkaban Web Server提供了Web UI,是azkaban主要的管理者,包括project的管理、认证、调度以及对工作流执行过程中的监控等;Azkaban Executor Server用来调度工作流和任务,记录工作流或者任务的日志。 流计算任务的处理平台Sloth,是网易首个自研流计算平台,旨在解决公司内各产品日益增长的流计算需求。作为一个计算服务平台,其特点是易用、实时、可靠,为用户节省技术方面(开发、运维)的投入,帮助用户专注于解决产品本身的流计算需求。 四、数据查询分析 Hive的核心工作就是把SQL语句翻译成MR程序,可以将结构化的数据映射为一张数据库表,并提供 HQL(Hive SQL)查询功能。Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce。可以将Hive理解为一个客户端工具,将SQL操作转换为相应的MapReduce jobs,然后在hadoop上面运行。Hive支持标准的SQL语法,免去了用户编写MapReduce程序的过程,它的出现可以让那些精通SQL技能、但是不熟悉MapReduce 、编程能力较弱与不擅长Java语言的用户能够在HDFS大规模数据集上很方便地利用SQL 语言查询、汇总、分析数据。 ...

May 1, 2019 · 1 min · jiezi

Python-数据分析与挖掘的学习路径

0.前言 很多人反映在学习了Python基础之后无所适从,不知道下一步往哪走。作为较早期的跨界者(土木狗)深有体会。本文将结合上图,为后来者指明方向,可作为参考。在此强调:如果打算依靠Python逃离现有的工作(如土木施工),那就要认真想想自己打算做哪一方面的工作,互联网营销、前端、运维、爬虫、数据分析、数据挖掘、Web开发?强烈建议:直接上拉钩或者Boss直聘,针对性学习更为稳妥。如果打算业余玩玩,那跟着我们一起业余吧,嚯嚯~ .在入门学习大数据的过程当中有遇见学习,行业,缺乏系统学习路线,系统学习规划,欢迎你加入我的大数据学习交流裙:529867072 ,裙文件有我这几年整理的大数据学习手册,开发工具,PDF文档书籍,你可以自行下载。1.目标确定 凡事预则立,不预则废。事先明确自己要处理事情,大体上有个方向。比如你准备分析当地房价,或是电商某种类数据,或是某个垂直领域的数据等。 2.数据获取 爬虫是Python初学者的必经之路,通过爬虫既可以获取数据,还可以理解Web的工作原理。前者可以作为数据分析的原料,后者可以作为数据Web可视化的基础。至于你使用Request,还是Scrapy,或是Selenium,可以随意一点,这不是公众号【调包】的重点,度娘或GitHub有很多范例供大家参考。 3.数据分析 《利用Python进行数据分析》该书详细讲述了Pandas的使用,用它可以实现上图流程之后的底层流程(数据整理、描述分析、洞察结论、报告撰写),这个路径可以称之“数据分析”。 4.数据挖掘 上图数据整理之后的上层路径(建模分析、模型测试、迭代优化、模型加载、报告撰写),这个路径可以称之“数据挖掘”。将会用到Sklearn、XGboost、Pytorch、TensorFlow、Spark、Hadoop等库或工具。 5.报告撰写不管是数据分析还是数据挖掘,最终都要反映到报告中,可以在线动态展示数据、也可以是离线静态报表,或者插入PPT。这个阶段Matplotlib是基础,至于用其他可视化库或是非Python系的工具,可以随意点,重点在于你分析的结论能否让阅读者肯定。 6.需求反馈 从报告撰写再回到目标确定,这是一个产品迭代的闭环。类似于土木施工组织管理的PDCA。

April 30, 2019 · 1 min · jiezi

java转大数据的学习路线

一、大数据相关的工作介绍二、大数据工程师的技能要求三、大数据学习规划 大数据介绍 大数据本质也是数据,但是又有了新的特征,包括数据来源广、数据格式多样化(结构化数据、非结构化数据、Excel文件、文本文件等)、数据量大(最少也是TB级别的、甚至可能是PB级别)、数据增长速度快等。在这里还是要推荐下我自己建的大数据学习交流群:529867072,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴加入。 针对以上主要的4个特征我们需要考虑以下问题: 数据来源广,该如何采集汇总?,对应出现了Sqoop,Cammel,Datax等工具。 数据采集之后,该如何存储?,对应出现了GFS,HDFS,TFS等分布式文件存储系统。 由于数据增长速度快,数据存储就必须可以水平扩展。 数据存储之后,该如何通过运算快速转化成一致的格式,该如何快速运算出自己想要的结果? 对应的MapReduce这样的分布式运算框架解决了这个问题;但是写MapReduce需要Java代码量很大,所以出现了Hive,Pig等将SQL转化成MapReduce的解析引擎; 普通的MapReduce处理数据只能一批一批地处理,时间延迟太长,为了实现每输入一条数据就能得到结果,于是出现了Storm/JStorm这样的低时延的流式计算框架; 但是如果同时需要批处理和流处理,按照如上就得搭两个集群,Hadoop集群(包括HDFS+MapReduce+Yarn)和Storm集群,不易于管理,所以出现了Spark这样的一站式的计算框架,既可以进行批处理,又可以进行流处理(实质上是微批处理)。 而后Lambda架构,Kappa架构的出现,又提供了一种业务处理的通用架构。 为了提高工作效率,加快运速度,出现了一些辅助工具: Ozzie,azkaban:定时任务调度的工具。Hue,Zepplin:图形化任务执行管理,结果查看工具。Scala语言:编写Spark程序的最佳语言,当然也可以选择用Python。Python语言:编写一些脚本时会用到。Allluxio,Kylin等:通过对存储的数据进行预处理,加快运算速度的工具。以上大致就把整个大数据生态里面用到的工具所解决的问题列举了一遍,知道了他们为什么而出现或者说出现是为了解决什么问题,进行学习的时候就有的放矢了。 正文一、大数据相关工作介绍 大数据方向的工作目前主要分为三个主要方向: 大数据工程师数据分析师大数据科学家其他(数据挖掘等)二、大数据工程师的技能要求 附上大数据工程师技能图: 必须掌握的技能11条 Java高级(虚拟机、并发)Linux 基本操作Hadoop(HDFS+MapReduce+Yarn )HBase(JavaAPI操作+Phoenix )Hive(Hql基本操作和原理理解)KafkaStorm/JStormScalaPythonSpark (Core+sparksql+Spark streaming )辅助小工具(Sqoop/Flume/Oozie/Hue等) 高阶技能6条 机器学习算法以及mahout库加MLlibR语言Lambda 架构Kappa架构KylinAlluxio三、学习路径 假设每天可以抽出3个小时的有效学习时间,加上周末每天保证10个小时的有效学习时间; 3个月会有(213+4210)3=423小时的学习时间。 第一阶段(基础阶段) 1)Linux学习(跟鸟哥学就ok了)—–20小时 Linux操作系统介绍与安装。Linux常用命令。Linux常用软件安装。Linux网络。防火墙。Shell编程等。2)Java 高级学习(《深入理解Java虚拟机》、《Java高并发实战》)—30小时 掌握多线程。掌握并发包下的队列。了解JMS。掌握JVM技术。掌握反射和动态代理。3)Zookeeper学习Zookeeper分布式协调服务介绍。Zookeeper集群的安装部署。Zookeeper数据结构、命令。Zookeeper的原理以及选举机制。 第二阶段(攻坚阶段) 4)Hadoop (《Hadoop 权威指南》)—80小时 HDFS HDFS的概念和特性。HDFS的shell操作。HDFS的工作机制。HDFS的Java应用开发。MapReduce 运行WordCount示例程序。了解MapReduce内部的运行机制。MapReduce程序运行流程解析。MapTask并发数的决定机制。MapReduce中的combiner组件应用。MapReduce中的序列化框架及应用。MapReduce中的排序。MapReduce中的自定义分区实现。MapReduce的shuffle机制。MapReduce利用数据压缩进行优化。MapReduce程序与YARN之间的关系。MapReduce参数优化。MapReduce的Java应用开发5)Hive(《Hive开发指南》)–20小时 Hive 基本概念 Hive 应用场景。Hive 与hadoop的关系。Hive 与传统数据库对比。Hive 的数据存储机制。Hive 基本操作 Hive 中的DDL操作。在Hive 中如何实现高效的JOIN查询。Hive 的内置函数应用。Hive shell的高级使用方式。Hive 常用参数配置。Hive 自定义函数和Transform的使用技巧。Hive UDF/UDAF开发实例。Hive 执行过程分析及优化策略6)HBase(《HBase权威指南》)—20小时 hbase简介。habse安装。hbase数据模型。hbase命令。hbase开发。hbase原理。 7)Scala(《快学Scala》)–20小时 Scala概述。Scala编译器安装。Scala基础。数组、映射、元组、集合。类、对象、继承、特质。模式匹配和样例类。了解Scala Actor并发编程。理解Akka。理解Scala高阶函数。理解Scala隐式转换。 8)Spark (《Spark 权威指南》)—60小时 ...

April 29, 2019 · 1 min · jiezi

车险往年保单关联计算的性能优化

【摘要】保险行业计算车险往年保单,需要按照车辆 vin 码、车架号、牌照种类和牌照号等多字段关联,涉及到几千万甚至上亿的大表,用存储过程计算非常耗时。点击车险往年保单关联计算的性能优化,去乾学院看看集算器如何把几个小时的计算缩短到十几分钟!问题的提出保险行业中,往往需要根据往年保单来快速计算和生成当年新的保单。以车险为例,在提醒老客户续保时就需要计算指定时间段的往年保单,例如某省级公司需要定期计算特定月份内可续保保单对应的历史保单。而目前在大多数保险营运系统中,这类批量数据处理任务都是由存储过程实现的,其中存在的典型问题就是存储过程性能差,运行时间长。如果只是计算一天的历史保单,运行时间尚可接受;如果时间跨度较大,运行时间就会长的无法忍受,基本就变成不可能完成的任务了。解决思路与过程案例场景说明下面我们将针对这种基于历史保单信息的计算任务的性能优化。实际业务中遇到的真实的存储过程很长,有2000多行。我们这里对问题进行了简化,只分析主体的部分,进而讨论集算器SPL语言优化类似计算的方法和思路。这个场景中计算用到的数据表包括:保单表和保单-车辆明细表。对于较大的省份,保单表和保单-车辆明细表都有几千万数据存量,每天新增保单的增量数据有一到两万条。经过简化的两个表结构如下:保单表 policyid char(22) not null ,– 保单编码(主键) policyno char(22),– 保单号 startdate datetime year to second,– 开始日期 enddate datetime year to second– 结束日期 保单 - 车辆明细表policyid char(22) not null , – 保单编码(主键) itemid decimal(8,0) not null ,– 明细编码(主键) licensenoid varchar(20),– 牌照编码 licensetype char(3),– 牌照种类 vinid varchar(18),–vin 编码 frameid varchar(30),– 车架编码新旧保单的对照表:policyid char(22) not null , – 保单编码oldpolicyid char(22)—上年保单编码往年保单的计算输入参数是起始日期(istart)和结束日期(iend),计算目标是新旧保单的对照表,找不到旧保单的将被舍弃。计算过程简化描述如下:1、 从保单表中,找出开始日期在指定时间段(istart和iend之间)内的新增保单。2、 用新增保单关联上一年的历史保单。关联的条件是:vin编码相同;或者车架编码相同;或者牌照种类、牌照编码同时相同。同时,要去掉旧的保险单号为null或者空字符串的数据,去掉新旧保险单相同的数据。3、 在所有旧保险单中找到和新保单结束日期在90天之内的,就是上年保单。优化思路1、 理解业务,采用更好的算法,而不是照搬存储过程。存储过程如果遇到了很难优化的性能问题,根本原因可能是采用的计算方法出了问题。这往往是因为SQL原理和模型造成的,要靠新的工具通过支持更好的计算方法来解决。如果用SPL简单翻译存储过程的语句,计算方法没有改变,性能也很难提升。推荐的做法是通过存储过程理解业务的需求,然后从原理层面思考更快的算法,在工具层面采用集算器SPL提供的更优化的算法重新实现。乾学院提供了很多性能优化的案例,可以帮助SPL程序员快速找到更好的计算方法。2、 数据外置,利用集算器获得更好性能。集算器提供了私有数据文件格式,具备压缩、列存、有序等有利于性能的特点。因此可以将数据库中的数据预先缓存到集算器数据文件中,利用数据外置优化整体性能。3、 针对对关联计算,区别分类加以优化。和SQL的关联计算不同,集算器中能够对不同类型的join采用不同的算法,包括主键相同的同维表、外键表、主子表、大表关联小表等等细分情况。而如果出现了两个大表cross join的情况,则有必要重新分析业务需求。数据准备1、 从数据库中导出保单表和保单车辆明细表。按照policyid排序之后,存放到组表文件POLICY.ctx和POLICY_CAR.ctx中。这里的排序很重要,是后续实现有序归并的前提条件。因为数据库JDBC性能较差,所以第一次导出全部历史数据的时候速度会比较慢。但是以后每天导出新增数据,增量更新组表文件就很快了。2、 针对POLICY.ctx的enddate字段新建索引index_enddate。3、 数据准备的具体代码可以参考教程的组表部分。解决办法和过程经过分析、测试发现,原存储过程性能优化的关键在于四个关联计算。首先是新增保单和保单-车辆明细表通过policyid关联来获得车辆信息,之后再与保单-车辆明细表分别通过vinid、frameid、licenseid以及licensetype关联三次,来获取历史保单。一天的新增保单有1万多条,这四次关联的时间尚可忍受。而一个月的新增保单有四十多万条,这四次关联的时间就会达到1到2个小时。对此,我们优化这个存储过程的思路就是利用SPL的计算能力,在对两个主表一次遍历的过程中,完成上述四个关联计算。这样,无论是一天还是一个月的新增保单,计算时间都不会明显延长。具体的SPL代码分为两大部分:一、过滤出指定时间段(istart和iend之间)的新增保单数据。一天的新增保单1到2万条,三十天的新增保单30到60万条,这个量级的数据可以直接存放在内存中。具体代码如下:A1、B1:打开组表文件“保单表”。A2、A3:从保单表中过滤出指定时间段(istart和iend之间)的新增保单,过滤时使用了预先生成的索引index_enddate。A4、B4:打开组表文件“保单车辆明细表”。A5、B5:用新增保单号,关联保单车辆表,找出车辆信息。A6、A7:关联新增保单信息和车辆信息,生成新增保单和车辆信息表。二、对历史保单完成三种方式的关联计算,得到新旧保单对照表。A8、B8:打开两个组表文件,保单表和保单车辆明细表,用需要的字段建立游标。A9:用policyid关联两个游标。如前所述,两个表都已经按照policyid排序了,所以这里的joinx是采用有序归并的方式,两个表都只需要遍历一次,复杂度较低。而SQL的HASH计算性能则只能靠运气了。关于有序归并的介绍参见【数据蒋堂】第 35 期:JOIN 提速 – 有序归并。A10:循环取出两个组表文件关联的结果,每次取出10万条形成序表。B10:关联结果生成新序表。其中,牌照和牌照种类用“|”合并成一个字段。B11、C11、B12分别按照三种方式做内连接,计算历史保单。C12:纵向合并三个内连接的结果。B13、C13:找出新保单id不等于旧保单id并且旧保单号不为空的数据,生成新序表。B14:结果合并到B14中。A15:过滤出结束日期大于旧保单结束日期,“旧保单结束日期”和“新保单开始日期”的间隔不超过90天的数据。A16、17、B17:对新保单、旧保单去掉重复,存入结果文件。性能优化效果在实际项目中,存储过程和集算器对比测试数据如下:从结果可以看出,同样的条件下:1、新增保单数据量越大,集算器性能提升越明显。30天新增保单计算时,性能提升6.6倍。2、存储过程计算时间随着数据量线性增加。集算器计算时间并不会随着数据量线性增加。3、数据量较小的时候,集算器和存储过程的计算性能都在可接受范围内;数据量较大时,存储过程需要计算几个小时,集算器的计算时间仍在十几分钟。4、在这次测试中,没有对保单表和保单车辆明细表建索引,计算过程中集算器需要对两个表做遍历查找。因此,数据量较小时,集算器也需要一个基本的遍历计算时间。而数据库建有索引,在小数据量时会有优势。如果集算器也建有索引,这个场景也可以再优化。但由于目前的指标已经可以达到实用,而用户方更关心的是大数据量场景,所以没有再做进一步的优化测试。优势总结采用压缩列存集算器采用压缩列存的方式保存数据。保险单表有70个字段,参与计算的只有十几个字段;保险单明细表有56个字段,参与计算字段不到十个。因此,采用列存方式对性能的提高效果较好。保险单表和保险单明细表存成集算器组表文件,压缩后只有3G多,也可以有效提高计算速度。数据有序存放集算器数据文件中的数据按照保险单号有序存放。保险单表和保险单明细表按照保险单号关联的时候,可以有序分段关联,速度提升明显。计算中间结果也是有序的,无需再重新建索引,有效节约了原来存储过程中建索引的时间。采用更快的计算方法用新保单去找上年、上上年和上三年的保单,需要按照vin码、车架号或者牌照加牌照种类三种方式来判断是否同一辆车。原存储过程是用新保单表去和保单表、保单明细表多次关联,计算的时间会随着新保单表的数据量而线性增长。而在集算器中采取的方式是:保单表和保单明细表有序关联之后,循环分批取出(比如:每次取10万条)。在内存中,每一批数据都和新保单通过三种方式关联。循环结束,三种方式的关联也都完成了。这样就实现了大表遍历一遍,同时完成三种方式的关联计算。对于存储过程来说,无法实现这种算法的根本原因是:1、无法有序关联两个大表;2、用临时表不能保证全内存计算。提高开发效率SPL语言代码更短,调试更简单,可以有效提高开发效率。原存储过程的完整代码约1800多行,用SPL改写后,仅约500格SPL语句即可实现。 ...

January 14, 2019 · 1 min · jiezi

【DataMagic】如何在万亿级别规模的数据量上使用Spark

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦本文由鹅厂新鲜事儿发表于云+社区专栏作者:张国鹏 | 腾讯 运营开发工程师一、前言Spark作为大数据计算引擎,凭借其快速、稳定、简易等特点,快速的占领了大数据计算的领域。本文主要为作者在搭建使用计算平台的过程中,对于Spark的理解,希望能给读者一些学习的思路。文章内容为介绍Spark在DataMagic平台扮演的角色、如何快速掌握Spark以及DataMagic平台是如何使用好Spark的。二、Spark在DataMagic平台中的角色图 2-1整套架构的主要功能为日志接入、查询(实时和离线)、计算。离线计算平台主要负责计算这一部分,系统的存储用的是COS(公司内部存储),而非HDFS。下面将主要介绍Spark on Yarn这一架构,抽取出来即图2-2所示,可以看到Spark on yarn的运行流程。图2-2三、如何快速掌握Spark对于理解Spark,我觉得掌握下面4个步骤就可以了。1.理解Spark术语对于入门,学习Spark可以通过其架构图,快速了解其关键术语,掌握了关键术语,对Spark基本上就有认识了,分别是结构术语Shuffle、Patitions、MapReduce、Driver、Application Master、Container、Resource Manager、Node Manager等。API编程术语关键RDD、DataFrame,结构术语用于了解其运行原理,API术语用于使用过程中编写代码,掌握了这些术语以及背后的知识,你就也知道Spark的运行原理和如何编程了。2.掌握关键配置Spark在运行的时候,很多运行信息是通过配置文件读取的,一般在spark-defaults.conf,要把Spark使用好,需要掌握一些关键配置,例如跟运行内存相关的,spark.yarn.executor.memoryOverhead、spark.executor.memory,跟超时相关的spark.network.timeout等等,Spark很多信息都可以通过配置进行更改,因此对于配置需要有一定的掌握。但是使用配置时,也要根据不同的场景,这个举个例子,例如spark.speculation配置,这个配置主要目的是推测执行,当worker1执行慢的情况下,Spark会启动一个worker2,跟worker1执行相同的任务,谁先执行完就用谁的结果,从而加快计算速度,这个特性在一般计算任务来说是非常好的,但是如果是执行一个出库到Mysql的任务时,同时有两个一样的worker,则会导致Mysql的数据重复。因此我们在使用配置时,一定要理解清楚,直接google spark conf就会列出很多配置了。3.使用好Spark的并行我们之所以使用Spark进行计算,原因就是因为它计算快,但是它快的原因很大在于它的并行度,掌握Spark是如何提供并行服务的,从而是我们更好的提高并行度。对于提高并行度,对于RDD,需要从几个方面入手,1、配置num-executor。2、配置executor-cores。3、配置spark.default.parallelism。三者之间的关系一般为spark.default.parallelism=num-executors*executor-cores的23倍较为合适。对于Spark-sql,则设置spark.sql.shuffle.partitions、num-executor和executor-cores。4.学会如何修改Spark代码新手而言,特别是需要对Spark进行优化或者修改时,感到很迷茫,其实我们可以首先聚焦于局部,而Spark确实也是模块化的,不需要觉得Spark复杂并且难以理解,我将从修改Spark代码的某一角度来进行分析。首先,Spark的目录结构如图3-1所示,可以通过文件夹,快速知道sql、graphx等代码所在位置,而Spark的运行环境主要由jar包支撑,如图3-2所示,这里截取部分jar包,实际上远比这多,所有的jar包都可以通过Spark的源代码进行编译,当需要修改某个功能时,仅需要找到相应jar包的代码,修改之后,编译该jar包,然后进行替换就行了。图3-1图3-2而对于编译源代码这块,其实也非常简单,安装好maven、scala等相关依赖,下载源代码进行编译即可,掌握修改源码技巧对于使用好开源项目十分重要。四、DataMagic平台中的SparkSpark在DataMagic中使用,也是在边使用边探索的过程,在这过程中,列举了其比较重要的特点。1.快速部署在计算中,计算任务的数量以及数据的量级每天都会发生变化,因此对于Spark平台,需要有快速部署的特性,在实体机上,有一键部署脚本,只要运行一个脚本,则可以马上上线一个拥有128G内存、48cores的实体机,但是实体机通常需要申请报备才能获得,因此还会有docker来支持计算资源。2.巧用配置优化计算Spark大多数属性都是通过配置来实现的,因此可以通过配置动态修改Spark的运行行为,这里举个例子,例如通过配置自动调整exector的数量。2.1 在nodeManager的yarn-site.xml添加配置 <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle,spark_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.spark_shuffle.class</name> <value>org.apache.spark.network.yarn.YarnShuffleService</value> </property>2.2 将spark-2.2.0-yarn-shuffle.jar文件拷贝到hadoop-yarn/lib目录下(即yarn的库目录)2.3 在Spark的spark-default.xml添加配置spark.dynamicAllocation.minExecutors 1 #最小Executor数spark.dynamicAllocation.maxExecutors 100 #最大Executor数通过这种配置,可以达到自动调整exector的目的。3.合理分配资源作为一个平台,其计算任务肯定不是固定的,有的数据量多,有的数据量少,因此需要合理分配资源,例如有些千万、亿级别的数据,分配20核计算资源就足够了。但是有些数据量级达到百亿的,就需要分配更多的计算资源了。参考第三章节的第3点。4.贴合业务需求计算的目的其实就是为了服务业务,业务的需求也理应是平台的追求,当业务产生合理需求时,平台方也应该尽量去满足。如为了支持业务高并发、高实时性查询的需求下,Spark在数据出库方式上,支持了Cmongo的出库方式。sc = SparkContext(conf=conf) sqlContext = SQLContext(sc) database = d = dict((l.split(’=’) for l in dbparameter.split())) parquetFile = sqlContext.read.parquet(file_name) parquetFile.registerTempTable(tempTable) result = sqlContext.sql(sparksql) url = “mongodb://"+database[‘user’]+”:"+database[‘password’]+"@"+database[‘host’]+":"+database[‘port’] result.write.format(“com.mongodb.spark.sql”).mode(‘overwrite’).options(uri=url,database=database[‘dbname’],collection=pg_table_name).save()5.适用场景Spark作为通用的计算平台,在普通的应用的场景下,一般而言是不需要额外修改的,但是DataMagic平台上,我们需要“在前行中改变”。这里举个简单的场景,在日志分析中,日志的量级达到千亿/日的级别,当底层日志的某些字段出现utf-8编码都解析不了的时候,在Spark任务中进行计算会发生异常,然后失败,然而如果在数据落地之前对乱码数据进行过滤,则有可能会影响数据采集的效率,因此最终决定在Spark计算过程中解决中这个问题,因此在Spark计算时,对数据进行转换的代码处加上异常判断来解决该问题。6.Job问题定位Spark在计算任务失败时候,需要去定位失败原因,当Job失败是,可以通过yarn logs -applicationId application 来合并任务log,打开log,定位到Traceback,一般可以找到失败原因。一般而言,失败可以分成几类。a. 代码问题,写的Sql有语法问题,或者Spark代码有问题。b. Spark问题,旧Spark版本处理NULL值等。c. 任务长时间Running状态,则可能是数据倾斜问题。d. 任务内存越界问题。7.集群管理Spark集群在日常使用中,也是需要运营维护的,从而运营维护,发现其存在的问题,不断的对集群进行优化,这里从以下几个方面进行介绍,通过运营手段来保障集群的健壮性和稳定性,保证任务顺利执行。a. 定时查看是否有lost node和unhealthy node,可以通过脚本来定时设置告警,若存在,则需要进行定位处理。b. 定时扫描hdfs的运行log是否满了,需要定时删除过期log。c. 定时扫描集群资源是否满足计算任务使用,能够提前部署资源。五、总结本文主要是通过作者在搭建使用计算平台的过程中,写出对于Spark的理解,并且介绍了Spark在当前的DataMagic是如何使用的,当前平台已经用于架平离线分析,每天计算分析的数据量已经达到千亿~万亿级别。问答Spark 优化怎么做?相关阅读腾讯云游戏多媒体解决方案惧怕羊毛党?腾讯云为你保驾护航AI从入门到放弃:CNN的导火索,用MLP做图像分类识别? 【每日课程推荐】机器学习实战!快速入门在线广告业务及CTR相应知识

October 23, 2018 · 1 min · jiezi