理财农场大数据初探之路

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:  概述 不以需求为目的的技术研究都是耍流氓     由于公司业务的快速发展,以及运营部门的需求,需要实现投资用户的月账单功能。 数据背景     目前平台投资用户57万多,投资流水数据已超过千万级,另外还需要统计用户的充值、提现、回款本金、利息、奖励、红包、区分各种产品的分类统计(定期、活期)、历史投资分布、收益趋势、打败多少用户、月度理财之星等等指标。
640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy= 

概述

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

不以需求为目的的技术研究都是耍流氓

    由于公司业务的快速发展,以及运营部门的需求,需要实现投资用户的月账单功能。


数据背景

    目前平台投资用户57万多,投资流水数据已超过千万级,另外还需要统计用户的充值、提现、回款本金、利息、奖励、红包、区分各种产品的分类统计(定期、活期)、历史投资分布、收益趋势、打败多少用户、月度理财之星等等指标。


技术选型背景

       在此之前就有类似需求,统计2016年投资用户的年度账单。当时部门几个核心的人员也针对年度账单做了分析及技术选型,有考虑定时任务多线程跑批、存储过程、读写库分离等,甚至为了不影响平台应用的资源,单独购买数据库跑批。最终的方案是多线程(10个线程)通过java调用、数据库读写分离、单独服务器、单独数据库,进行跑批实现;当然最终的结果也是顺利实现了,但过程不尽人意,记得应该是两个研发工程师,用了近两个星期的时间实现,包括梳理数据、测试数据、核对数据、需求变更、重跑等等,跑批的时间将近花了三天的时间,这不管是效率上、时效性上、人力成本、服务器成本上都是不划算的。

       因为有了这次经历,再加上2017年规划,各部门提出了各种报表、智能营销、精准营销、实时结果反馈等各种需求,所以就有了预研阿里云大数据平台——数加的开始(这里不是打广告,有关数加平台,有兴趣的可自行从阿里云了解)。目前我们利用数加平台主要实现了两大功能:月账单(各种统计需求)、大屏流量墙。

      预研数加平台这里要特别感谢柯里(百香果)提供了不少的帮助。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy= 

月账单

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

月账单:

借助数加平台的大数据开发套件实现。


什么是大数据开发套件?

“大数据开发套件”是阿里云推出的大数据领域平台级产品,提供一站式大数据开发、数据权限管理、任务离线调度等功能。其底层依赖阿里云自主研发的大数据计算服务 MaxCompute(原 ODPS),提供海量任务的离线加工、分析、云数仓搭建、大数据挖掘等应用于多种场景的功能。‘开箱即用’的使用方式,让用户不必担心底层集群的搭建和运维所带来的成本和繁琐。


产品架构图

73c9dea73b14d3d848faee7ad75dae39c5adfbb3

    如上图那么我们利用大数据开发套件,具体用来做了什么处理呢?

    1、数据同步和存储,支持从阿里云数据库同步源数据到大数据开发套件;前提是根据需要提取的数据进行建表,可以根据业务模型创建宽表,在此表的基础上进行数据清洗和处理,得到结果数据再进行存储;

    2、利用MaxCompute支持的SQL语句处理;

    3、配置工作流,支持复杂的业务按流程逐步执行;

    4、支持ETL调度,可配制高度周期,以及日志的输出和跟踪;

    5、支持任务监控,出错及时报警和处理;

    6、结果输出回导至现网数据库,以供业务系统调用显示;


    开发过程中,也很好的支持了开发、调试、测试、上线的一体系的支持,所以运用到业务系统中的可行性是很大的,据了解目前已很多公司已商用;当然大数据开发套件还有很多功能暂时没有用到,比如机器学习、支持自定义函数、java调用、BI报表输出、SDK获取结果等等,有兴趣的同学可以从阿里云更深入的了解;

https://help.aliyun.com/product/30254.html

 

月账单功能的整体流程如下图:

64914c2e3cb7e510e37431482c1d09d031f91914

        目前月账单功能顺利上线,那么大家肯定想知道的通过阿里云的大数据开发套件,体现了哪些好处呢?


后面再说~


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy= 

大屏流量墙

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

    借助数加平台的流计算实现。主要体现出数据的实时情况,用户实时注册及显示其所在市、用户投资时连线到借款人所在地(取经纬进行飞线)、实时的借款数据、投资数据等等

 

什么是流计算?

    顾名思义,流计算通俗的讲,就是对产生的一条条事件流、数据流进行实时计算和处理;

    通常而言,流计算具备三大类特点:

    实时(realtime)且无界(unbounded)的数据流

    流计算面对计算的,是实时且流式的,流数据是按照时间发生顺序地被流计算订阅和消费。且由于数据发生的持续性,数据流将长久且持续地集成进入流计算系统。例如,对于网站的访问点击日志流,只要网站不关闭其点击日志流将一直不停产生并进入流计算系统。因此,对于流系统而言,数据是实时且不终止(无界)的。

    持续(continuos)且高效的计算

    流计算是一种”事件触发”的计算模式,触发源就是上述的无界流式数据。一旦有新的流数据进入流计算,流计算立刻发起并进行一次计算任务,因此整个流计算是持续进行的计算

    流式(streaming)且实时的数据集成    ·

    流数据触发一次流计算的计算结果,可以被直接写入目的数据存储,例如将计算后的报表数据直接写入RDS进行报表展示。因此流数据的计算结果可以类似流式数据一样持续写入目的数据存储。

全链路流计算示意

7cbcb5459d1c586bd85319222c7e579186618d53

大屏流量墙的整体流程如下图:

c1755fef9d73ee3e8526b378432d5356bb3d1b78

StreamCompute的代码示例:

-- 1. 创建源表 (以下实例是产生随机字符串的源头表)

CREATE STREAM TABLE my_source(word STRING);


-- 2. 创建结果表 (以下是不产生对外输出的结果表)

CREATE RESULT TABLE my_result(word STRING, cnt BIGINT);


-- 3. 计算逻辑

INSERT INTO my_result select

       t.word,

       COUNT(1)

    FROM my_source t

    GROUP BY t.word;


-- 4. 代码完成后,请点击 "调试任务",进行任务调试。任务调试可以mock输入/输出数据,方便用户进行数据调试。


-- 5. 调试完成后,请点击"上线任务",任务发布到"数据运维"页面进行生产运行。


想学的也可以看数加体验馆的大屏教程:https://data.aliyun.com/experience/case8

    

最终大屏显示的效果图:

44455989c6682652a76c2c1c1a897739531fb3c7
640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy= 640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

总结

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

使用数加平台后,给我们带来了什么

优点:

    1、人力成本方面,相比较年度账单,人力成本大幅减少,一个开发人员一周内可以完全实现(还是初次接触)

    2、业务执行效率大幅提高,阿里云其Maxcompute适用于100GB以上规模的存储及计算需求,最大可达EB级别。目前我们的数据大小只能算是沧海一粟吧~!~   MaxCompute产品地址:https://www.aliyun.com/product/odps  大数据开发套件地址:https://data.aliyun.com/product/ide

    3、运算能力也大幅提升,还是以年度账单为例比较,目前上线初次全量数据跑,基本是在30分钟以内完成。

    4、大数据的开发门槛降低,所谓专业的事交给专业的人来做,我们不需要关心细节,做的只是梳理业务、建模、配置、提取即可;

    5、隔离性好,基本不需要渗入到业务系统实现;

说了优点,再说点缺点:

    1、Maxcompute的SQL支持方面有较多限制,当然有关系型数据库SQL经验的同鞋上手应该是很快的。

    2、在跑批过程当中,有出现过一次数据回写数据库失败的问题。

    3、开发环境与测试环境隔离不是很好,只能通过权限来控制。

    4、有些产品还在公测阶段,有一定的小BUG,比如数据有重复,需要自行去重。

本文作者:  Tonson(农金圈研发团队),热爱技术的java攻城狮。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
大数据
互联网时代,一份投资理财大数据报告能改变什么?
互联网时代,一份投资理财大数据报告能改变什么?
134 0
互联网时代,一份投资理财大数据报告能改变什么?
|
28天前
|
存储 大数据 数据挖掘
【数据新纪元】Apache Doris:重塑实时分析性能,解锁大数据处理新速度,引爆数据价值潜能!
【9月更文挑战第5天】Apache Doris以其卓越的性能、灵活的架构和高效的数据处理能力,正在重塑实时分析的性能极限,解锁大数据处理的新速度,引爆数据价值的无限潜能。在未来的发展中,我们有理由相信Apache Doris将继续引领数据处理的潮流,为企业提供更快速、更准确、更智能的数据洞察和决策支持。让我们携手并进,共同探索数据新纪元的无限可能!
81 11
|
2月前
|
存储 分布式计算 大数据
MaxCompute 数据分区与生命周期管理
【8月更文第31天】随着大数据分析需求的增长,如何高效地管理和组织数据变得至关重要。阿里云的 MaxCompute(原名 ODPS)是一个专为海量数据设计的计算服务,它提供了丰富的功能来帮助用户管理和优化数据。本文将重点讨论 MaxCompute 中的数据分区策略和生命周期管理方法,并通过具体的代码示例来展示如何实施这些策略。
82 1
|
2月前
数据平台问题之在数据影响决策的过程中,如何实现“决策/行动”阶段
数据平台问题之在数据影响决策的过程中,如何实现“决策/行动”阶段
|
2月前
|
存储 监控 安全
大数据架构设计原则:构建高效、可扩展与安全的数据生态系统
【8月更文挑战第23天】大数据架构设计是一个复杂而系统的工程,需要综合考虑业务需求、技术选型、安全合规等多个方面。遵循上述设计原则,可以帮助企业构建出既高效又安全的大数据生态系统,为业务创新和决策支持提供强有力的支撑。随着技术的不断发展和业务需求的不断变化,持续优化和调整大数据架构也将成为一项持续的工作。
|
2月前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之ODPS数据怎么Merge到MySQL数据库
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2月前
|
消息中间件 数据采集 JSON
大数据 - DWD&DIM 行为数据
大数据 - DWD&DIM 行为数据
43 1
|
2月前
|
机器学习/深度学习 人工智能 分布式计算
理解并利用大数据的力量:解锁数据背后的价值
【8月更文挑战第7天】大数据已成为推动社会进步和经济发展的重要力量。通过理解并利用大数据的力量,企业可以解锁数据背后的价值,优化业务流程、提升决策效率和创新能力。然而,大数据应用也面临着诸多挑战和风险,需要企业不断学习和实践以应对。相信在未来的发展中,大数据将为我们带来更多的惊喜和机遇。
|
2月前
|
分布式计算 安全 大数据
MaxCompute 的安全性和数据隐私保护
【8月更文第31天】在当今数字化转型的时代背景下,企业越来越依赖于大数据分析来推动业务增长。与此同时,数据安全和隐私保护成为了不容忽视的关键问题。作为阿里巴巴集团推出的大数据处理平台,MaxCompute(原名 ODPS)致力于为企业提供高效、安全的数据处理解决方案。本文将探讨 MaxCompute 在数据安全方面的实践,包括数据加密、访问控制及合规性考虑等方面。
66 0
|
2月前
|
数据采集 数据挖掘 Python
python爬虫去哪儿网上爬取旅游景点14万条,可以做大数据分析的数据基础
本文介绍了使用Python编写的爬虫程序,成功从去哪儿网上爬取了14万条旅游景点信息,为大数据分析提供了数据基础。

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 下一篇
    无影云桌面