来源:2019-03-26 00:00:00 热度:

WakeData魏战松丨企服大数据构架师的进阶之路

来自AI中国网 https://www.cnaiplus.com

3月23日,以“程序员进阶之路”为主题的极光开发者沙龙会在深圳虚拟大学园举办。沙龙会由极光主办,极光、金山云、PING++、WakeData惟客数据等企业的资深大咖在会上分享架构方面的案例知识,同现场的百位技术从业者进行了交流与讨论。 WakeData魏战松有着8年互联网、金融支付、大数据领域的项目设计开发经验。曾任职于迅雷、中国电信、魅族,先后负责互联网金融支付、大数据计算平台等系统的设计开发工作。现任职WakeData大数据平台架构师,负责公司大数据平台能力建设,主导开发流计算平台、离线调度平台、数据交换平台、数据治理平台、可视化报表系统等大数据开发套件。

本次沙龙会上,他做了《企业级数据中台架构设计与技术实现》为主题的分享,与现场技术从业者分享了如何从零到一构建企业数据中台、针对企业业务所设计的数据处理方案与技术实现等内容。 企业为什么要做数据管理? 天下商贾,无一不在为顾客是谁、顾客从哪里来、顾客想买什么这几个问题殚精竭虑。互联网公司依托强大的线上数据以及天然的数据技术优势,已经构建了强大的数据驱动及数字营销闭环,形成了一套成熟、完整的数据体系。 而传统企业很多业务系统,由于历史原因选择了不同的软件服务商开发,每家所用的技术栈不一致,导致企业内部业务系统技术栈不统一; 业务系统烟囱导致数据集成成本高,形成数据孤岛。与此同时,传统企业负责数据管理的部门,往往缺少全域或某个板块的业务专家,导致业务梳理、数据分析操作上存在局限性,数据很难发挥价值。在一些产品立项迭代速度较快的企业,当管理者需要快速看到产品的效果时,数据产品往往不能快速产生明显的效果,或者缺少一个统一的标准来量化数据产品的效果,这是当下传统企业数据管理所存在的主要痛点。 因此,基于以上问题, 建设一套企业统一的大数据平台就势在必行了。对企业而言,用户画像分析是非常关键信息。大数据平台可根据企业业务需求,为数据贴上企业专属的标签,在此基础上刻画客户企业特有用户画像,企业可根据画像做广告及活动定向投放;大数据中台分析还可为企业提供实时客流信息等,对企业决策进行创意指导,有助于及时优化策略,短时间内快速提升效果。 从零到一搭建大数据平台 那么,对于从未构建过数据平台的传统企业来说,大数据平台的搭建究竟该从何做起?首先来了解一下WakeData的大数据平台。经典的大数据架构Lambda将数据处理分为三层:实时处理层、批处理层、数据服务层。而在经典Lambda架构的基础之上,我们设计了自己的大数据平台架构,如下图所示。

WakeData的大数据平台基于Hadoop生态技术组件设计而成,将大数据平台分为数据接入层、存储层、计算引擎层、平台开发层、数据产品层、监控与安全层等。

想必大家在各个大数据平台的官网或一些技术交流大会上,大多看过类似的图,本质上大同小异。那么问题来了,每个公司都有这样一套大同小异的大数据架构图,但为何每家公司的数据方案、数据能力却千差万别?WakeData大数据平台的优势又在哪里体现? 很多人会认为Hadoop的组件的运用是平台的关键,企业可依据自己业务需要,针对某些组件二次开发、优化,并贡献给社区;也有人看到我们设有很多种技术栈,在监控和安全我们也做得比较完善。 但其实这些都不是最重要的,最重要的还是在于平台开发层和数据产品层。 平台开发层标识公司大数据平台的成熟度,数据平台做得好与不好,主要看平台开发层提供什么样的工具;数据产品层体现的是数据平台对外输出数据服务的能力,数据能发挥什么价值,全在这一层体现。虽然数据产品在每个公司业务场景不同,但提供数据服务的方式也是可以通用的。 数据怎样接入? 如前文所述,企业内部业务系统技术栈不统一,数据存储的格式也为多重样式,因此在数据的接入过程上难免比较棘手。企业数据存储格式大致可分为结构化数据、半结构化数据以及非结构化数据三种类型,Oracle、Mysql、SQLServer等关系型数据库,还有一些商用的数据库(如SAP HANA)都属于结构化数据;半结构化数据则包括各种LogCSVExecl等文件,还有一些通过FTP、HTTP等协议获取的网络数据等;而图片、音频、视频等属于非结构化数据。 数据的多样性导致了数据接入方式的复杂性、非通用性。日志采集是通过FlumeLogstash,接入,而关系型数据库数据采集则通过SqoopDataX等方式实现;阿里开源的Canal通过Mysql的binlog实现数据同步。不同数据类型对应不同的接口实现方式,种类之繁多,不胜枚举。 为了适应传统企业数据存储的复杂场景,我们自研了Data-In项目:基于内存数据交换,不占用磁盘,可以通过调整并发数,控制数据传输速率;针对新数据源实现一个新插件与已有插件的直接打通;同时支持10多种异构数据源之间互导数据,包括关系型数据库、大数据存储组件、半结构化数据和NoSQL数据库等,最终实现海量数据传输中的并发、异常处理、缓存、流量控制、编码转换、统计等,预防未经许可的数据同步或不合理的任务配置,并且在呈现端为企业提供友好的UI界面和简单便捷的操作设计。

 数据离线计算与实时计算

大数据平台搭建成功后,一般的数据分析会涉及到离线计算和实时计算两种数据处理类型。以WakeData客流宝为例说明,离线计算适用于顾客年龄、性别、学历占比,顾客设备品牌分布、会员占比等数据;门店的进店、过店客流量,销售额,订单量等数据则需进行实时计算。

离线计算方案基于定时器、时间轮、工作流三大齿轮设计而成,支持多样任务类型 ,包括Shell、Python、Hive、SQL、Spark、数据交换、机器学习等;提供任务运行状态查询、监控、终止、重跑、补数据、查看日志等操作;支持自定义周期间隔的周期性任务。灵活的调度策略支持时间触发、依赖触发、优先级机制,支持多种依赖关系,比如依赖小时任务、离线依赖流任务等,提供友好的任务血缘关系查询界面。同时离线计算方案还配置了多种警告策略,如失败告警、延迟告警等,为企业数据的完备与安全提供“万全之策”。

实时计算方案针对流数据无边界、无延迟、无触发、无历史数据等特点,划分为实时数据采集、缓冲层、流计算层等模块。WakeData自研的实时计算平台基于Flink实现,通过SQL化的方式,实现流数据任务开发、计算,最终以数据服务API、实时大屏、推荐系统等数据应用形式输出,为企业管理者实时呈现企业的运营情况、对用户维度的个性化推荐进行实时调整。

实时计算和离线计算二者协作使用,可满足企业不同业务类型的数据处理需求,并且在未来,所有任务的编写也都将SOL化,以提供更灵活的数据产品及服务。 最后,针对企业数据无法价值化的痛点,魏战松提出通过大数据平台的构建,利用Data-In技术可帮助企业整合打通各技术栈的数据,在此基础上以SQL形式编写任务,可满足企业不同场景下的数据分析需求,实现多个维度下企业数据的价值化,让企业高效、低成本使用大数据能力,为用户提供更智能、优质的服务。

来自AI中国网 https://www.cnaiplus.com

本文网址:

欢迎关注微信公众号:人工智能报;合作及投稿请联系:editor@cnaiplus.com

AI中国号...

关注微信公众号,了解最新精彩内容