中企动力 > 商学院 > 海量数据分析平台
  • ?

    Kaggle放大招:简单几步实现海量数据分析及可视化

    狄铁身

    展开

    新智元报道

    来源:Kaggle

    编译:三石

    【新智元导读】近期,Kaggle发布了新的数据分析及可视化工具——Kaggle Kerneler bot,用户只需上传数据集,便可用Python为用户自动获取相关的深度数据分析结果。本文将带领读者体验一下这款便捷而又高效的工具。

    Kaggle Kerneler bot是一个自动生成的kernel,其中包含了演示如何读取数据以及分析工作的starter代码。用户可以进入任意一个已经发布的项目,点击顶部的“Fork Notebook”来编辑自己的副本。接下来,小编将以最热门的两个项目作为例子,带领读者了解该如何使用这款便捷的工具。

    好的开始是成功的一半!

    要开始这个探索性分析(exploratory analysis),首先需要导入一些库并定义使用matplotlib绘制数据的函数。但要注意的是,并不是所有的数据分析结果图像都能够呈现出来,这很大程度上取决于数据本身(Kaggle Kerneler bot只是一个工具,不可能做到Jeff Dean或者Kaggle比赛选手们那么完美的结果)。

    In [1]:

    from mpl_toolkits.mplot3d import Axes3Dfrom sklearn.decomposition import PCAfrom sklearn.preprocessing import StandardScalerimport matplotlib.pyplot as plt # plottingimport numpy as np # linear algebraimport os # accessing directory structureimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)

    在本例中,一共输入了12个数据集。

    In [2]:

    print(os.listdir('../input'))print(os.listdir('../input/moeimouto-faces/moeimouto-faces/007_nagato_yuki'))print(os.listdir('../input/moeimouto-faces/moeimouto-faces/046_alice_margatroid'))print(os.listdir('../input/moeimouto-faces/moeimouto-faces/065_sanzenin_nagi'))print(os.listdir('../input/moeimouto-faces/moeimouto-faces/080_koizumi_itsuki'))print(os.listdir('../input/moeimouto-faces/moeimouto-faces/096_golden_darkness'))print(os.listdir('../input/moeimouto-faces/moeimouto-faces/116_pastel_ink'))print(os.listdir('../input/moeimouto-faces/moeimouto-faces/140_seto_san'))print(os.listdir('../input/moeimouto-faces/moeimouto-faces/144_kotegawa_yui'))print(os.listdir('../input/moeimouto-faces/moeimouto-faces/164_shindou_chihiro'))print(os.listdir('../input/moeimouto-faces/moeimouto-faces/165_rollo_lamperouge'))print(os.listdir('../input/moeimouto-faces/moeimouto-faces/199_kusugawa_sasara'))print(os.listdir('../input/moeimouto-faces/moeimouto-faces/997_ana_coppola'))

    接下里,用户在编辑界面中会看到四个已经编好的代码块,它们定义了绘制数据的函数。而在发布后的页面,这些代码块会被隐藏,如下图所示,只需单击已发布界面中的“code”按钮就可以显示隐藏的代码。

    准备就绪!读取数据!

    首先,让我们先看一下输入中的第一个数据集:

    In [7]:

    nRowsRead = 100# specify 'None' if want to read whole file# color.csv may have more rows in reality, but we are only loading/previewing the first 100 rowsdf1 = pd.read_csv('../input/moeimouto-faces/moeimouto-faces/080_koizumi_itsuki/color.csv', delimiter=',', nrows = nRowsRead)df1.dataframeName = 'color.csv'nRow, nCol = df1.shapeprint(f'There are {nRow} rows and {nCol} columns')

    那么数据长什么样子呢?

    In [8]:

    df1.head(5)

    Out [8]:

    数据可视化:仅需简单几行!

    样本的柱状图:

    In [9]:

    plotHistogram(df1, 10, 5)

    二维和三维的PCA图:

    In [10]:

    plotPCA(df1, 2) # 2D PCAplotPCA(df1, 3) # 3D PCA

    同理,更换数据集文件的路径,也可以得到其它数据对应的结果。

    当然,除了上述几种可视化的结果外,根据输入数据以及需求的不同,也可以得到其它数据分析可视化结果,例如:

    相关矩阵:

    In [11]:

    plotCorrelationMatrix(df1, 8)

    散射和密度图:

    In [12]:

    plotScatterMatrix(df1, 20, 10)

    针对数据分析、数据可视化工作,Kaggle kerneler bot应当说是相当的便捷和高效了。那么你是否也想尝试一下呢?

    链接地址:

    https://kaggle/kerneler/kernels

    新智元AI WORLD 2018大会【早鸟票】

    开售!

    新智元将于9月20日在北京国家会议中心举办AI WORLD 2018 大会,邀请机器学习教父、CMU教授 Tom Mitchell,迈克思·泰格马克,周志华,陶大程,陈怡然等AI领袖一起关注机器智能与人类命运。

    大会官网:

    http://aiworld2018/

    即日起到8月19日,新智元限量发售若干早鸟票,与全球AI领袖近距离交流,见证全球人工智能产业跨越发展。

    活动行购票链接:http://huodongxing/event/6449053775000活动行购票二维码:

  • ?

    万字长文揭秘:阿里如何实现海量数据实时分析?

    小恐龙

    展开

    阿里妹导读:随着数据量的快速增长,越来越多的企业迎来业务数据化时代,数据成为了最重要的生产资料和业务升级依据。本文由阿里AnalyticDB团队出品,近万字长文,首次深度解读阿里在海量数据实时分析领域的多项核心技术。

    数字经济时代已经来临,希望能和业界同行共同探索,加速行业数字化升级,服务更多中小企业和消费者。

    欢迎转发、收藏此文

    挑战

    随着数据量的快速增长,越来越多的企业迎来业务数据化时代,数据成为了最重要的生产资料和业务升级依据。伴随着业务对海量数据实时分析的需求越来越多,数据分析技术这两年也迎来了一些新的挑战和变革:

    在线化和高可用,离线和在线的边界越来越模糊,一切数据皆服务化、一切分析皆在线化。高并发低延时,越来越多的数据系统直接服务终端客户,对系统的并发和处理延时提出了新的交互性挑战。混合负载, 一套实时分析系统既要支持数据加工处理,又要支持高并发低延时的交互式查询。融合分析, 随着对数据新的使用方式探索,需要解决结构化与非结构化数据融合场景下的数据检索和分析问题。

    阿里巴巴最初通过单节点Oracle进行准实时分析, 后来转到Oracle RAC,随着业务的飞速发展, 集中式的Shared Storage架构需要快速转向分布式,迁移到了Greenplum,但不到一年时间便遇到扩展性和并发的严重瓶颈。为了迎接更大数据集、更高并发、更高可用、更实时的数据应用发展趋势,从2011年开始,在线分析这个技术领域,阿里实时数仓坚定的走上了自研之路。

    分析型数据库AnalyticDB

    AnalyticDB是阿里巴巴自主研发、唯一经过超大规模以及核心业务验证的PB级实时数据仓库。自2012年第一次在集团发布上线以来,至今已累计迭代发布近百个版本,支撑起集团内的电商、广告、菜鸟、文娱、飞猪等众多在线分析业务。

    AnalyticDB于2014年在阿里云开始正式对外输出,支撑行业既包括传统的大中型企业和政府机构,也包括众多的互联网公司,覆盖外部十几个行业。AnalyticDB承接着阿里巴巴广告营销、商家数据服务、菜鸟物流、盒马新零售等众多核心业务的高并发分析处理, 每年双十一上述众多实时分析业务高峰驱动着AnalyticDB不断的架构演进和技术创新。

    经过这2年的演进和创新,AnalyticDB已经成长为兼容MySQL 5.x系列、并在此基础上增强支持ANSI SQL:2003的OLAP标准(如window function)的通用实时数仓,跻身为实时数仓领域极具行业竞争力的产品。近期,AnalyticDB成功入选了全球权威IT咨询机构Forrester发布"The Forrester Wave™: CloudData Warehouse,Q4 2018"研究报告的Contenders象限,以及Gartner发布的分析型数据管理平台报告 (Magic Quadrant forData Management Solutions for Analytics),开始进入全球分析市场。AnalyticDB旨在帮客户将整个数据分析和价值化从传统的离线分析带到下一代的在线实时分析模式。

    整体架构

    经过过去2年的架构演进和功能迭代,AnalyticDB当前整体架构如下图。

    AnalyticDB是一个支持多租户的Cloud Native Realtime Data Warehouse平台,每个租户DB的资源隔离,每个DB都有相应独立的模块(图中的Front Node, Compute Node, Buffer Node),在处理实时写入和查询时,这些模块都是资源(CPU, Memory)使用密集型的服务,需要进行DB间隔离保证服务质量。同时从功能完整性和成本优化层面考虑,又有一系列集群级别服务(图中绿色部分模块)。

    下面是对每个模块的具体描述:

    DB级别服务组件:

    Front Node:负责JDBC, ODBC协议层接入,认证和鉴权,SQL解析、重写;分区地址路由和版本管理;同时优化器,执行计划和MPP计算的调度模块也在Front Node。Compute Node: 包含MPP计算Worker模块,和存储模块(行列混存,元数据,索引)。Buffer Node: 负责实时写入,并根据实时数据大小触发索引构建和合并。

    集群级别服务组件:

    Management Console: 管理控制台。Admin Service:集群管控服务,负责计量计费,实例生命周期管理等商业化功能,同时提供OpenAPI和InnerAPI给Management Console和第三方调用。Global Meta Service:全局元数据管理,提供每个DB的元数据管理服务,同时提供分区分配,副本管理,版本管理,分布式DDL等能力。Job Service:作业服务,提供异步作业调度能力。异步作业包括索引构建、扩容、无缝升级、删库删表的后台异步数据清理等。Connector Service:数据源连接服务,负责外部各数据源(图中右侧部分)接入到AnalyticDB。目前该服务开发基本完成,即将上线提供云服务。Monitoring & Alerting Service:监控告警诊断服务,既提供面向内部人员的运维监控告警诊断平台,又作为数据源通过Management Console面向用户侧提供数据库监控服务。Resource Management Service:资源管理服务,负责集群级别和DB级别服务的创建、删除、DNS/SLB挂载/卸载、扩缩容、升降配,无缝升级、服务发现、服务健康检查与恢复。

    数据模型

    AnalyticDB中表组(Table Group)分为两类:事实表组和维度表组。

    事实表组(Fact Table Group),表组在AnalyticDB里是一个逻辑概念,用户可以将业务上关联性比较多的事实表放在同一个事实表组下,主要是为了方便客户做众多数据业务表的管理,同时还可以加速Co-location Join计算。维度表组(Dimension Table Group),用于存放维度表,目前有且仅有一个,在数据库建立时会自动创建,维度表特征上是一种数据量较小但是需要和事实表进行潜在关联的表。

    AnalyticDB中表分为事实表(Fact Table)和维度表(Dimension Table)。

    事实表创建时至少要指定Hash分区列和相关分区信息,并且指定存放在一个表组中,同时支持List二级分区。

    Hash Partition将数据按照分区列进行hash分区,hash分区被分布到多个Compute Node中。List Partition(如果指定List分区列的话)对一个hash分区进行再分区,一般按照时间(如每天一个list分区)。一个Hash Partition的所有List Partition默认存放于同一个Compute Node中。每个Hash Partition配有多个副本(通常为双副本),分布在不同的Compute Node中,做到高可用和高并发。

    维度表可以和任意表组的任意表进行关联,并且创建时不需要配置分区信息,但是对单表数据量大小有所限制,并且需要消耗更多的存储资源,会被存储在每个属于该DB的Compute Node中。

    下图描述了从Database到List分区到数据模型:

    对于Compute Node 来说,事实表的每个List分区是一个物理存储单元(如果没有指定List分区列,可认为该Hash分区只有一个List分区)。一个分区物理存储单元采用行列混存模式,配合元数据和索引,提供高效查询。

    海量数据

    基于上述数据模型,AnalyticDB提供了单库PB级数据实时分析能力。以下是生产环境的真实数据:

    阿里巴巴集团某营销应用单DB表数超过20000张云上某企业客户单DB数据量近3PB,单日分析查询次数超过1亿阿里巴巴集团内某单个AnalyticDB集群超过2000台节点规模云上某业务实时写入压力高达1000w TPS菜鸟网络某数据业务极度复杂分析场景,查询QPS 100+

    导入导出

    灵活的数据导入导出能力对一个实时数仓来说至关重要,AnalyticDB当前既支持通过阿里云数据传输服务DTS、DataWorks数据集成从各种外部数据源导入入库,同时也在不断完善自身的数据导入能力。整体导入导出能力如下图(其中导入部分数据源当前已支持,部分在开发中,即将发布)。

    ★ 数据导入

    首先,由于AnalyticDB兼容MySQL5.x系列,支持通过MySQL JDBC方式把数据insert入库。为了获得最佳写入性能,AnalyticDB提供了Client SDK,实现分区聚合写的优化,相比通过JDBC单条insert,写入性能有10倍以上提升。对于应用端业务逻辑需要直接写入AnalyticDB的场景,推荐使用AnalyticDB Client SDK。

    同时,对于快速上传本地结构化的文本文件,可以使用基于AnalyticDB Client SDK开发的Uploader工具。对于特别大的文件,可以拆分后使用uploader工具进行并行导入。

    另外,对于OSS,MaxCompute这样的外部数据源,AnalyticDB通过分布式的Connector Service数据导入服务并发读取并写入到相应DB中。Connector Service还将支持订阅模式,从Kafka,MQ,RDS等动态数据源把数据导入到相应DB中。AnalyticDB对大数据生态的Logstash,Fluentd,Flume等日志收集端、ETL工具等通过相应插件支持,能够快速把数据写入相应DB。

    今天在阿里巴巴集团内,每天有数万张表从MaxCompute导入到AnalyticDB中进行在线分析,其中大量导入任务单表数据大小在TB级、数据量近千亿。

    ★ 数据导出

    AnalyticDB目前支持数据导出到OSS和MaxCompute,业务场景主要是把相应查询结果在外部存储进行保存归档,实现原理类似insert from select操作。insert from select是把查询结果写入到内部表,而导出操作则是写入外部存储, 通过改进实现机制,可以方便地支持更多的导出数据源。

    核心技术

    高性能SQL Parser

    AnalyticDB经过数年的发展,语法解析器也经历了多次更新迭代。曾经使用过业界主流的 Antlr(http://antlr.org),JavaCC(https://javacc.org)等Parser生成器作为SQL 语法解析器,但是两者在长期、大规模、复杂查询场景下,Parser的性能、语法兼容、API设计等方面不满足要求,于是我们引入了自研的SQL Parser组件FastSQL。

    ★ 领先业界的Parser性能

    AnalyticDB主打的场景是高并发、低延时的在线化分析,对SQL Parser性能要求很高,批量实时写入等场景要求更加苛刻。FastSQL通过多种技术优化提升Parser性能,例如:

    快速对比:使用64位hash算法加速关键字匹配,使用fnv_1a_64 hash算法,在读取identifier的同时计算好hash值,并利用hash64低碰撞概率的特点,使用64位hash code直接比较,比常规Lexer先读取identifier,在查找SymbolTable速度更快。高性能的数值Parser:Java自带的Integer.parseInt()/Float.parseFloat()需要构造字符串再做parse,FastSQL改进后可以直接在原文本上边读取边计算数值。分支预测:在insert values中,出现常量字面值的概率比出现其他的token要高得多,通过分支预测可以减少判断提升性能。

    以TPC-DS99个Query对比来看,FastSQL比Antlr Parser(使用Antlr生成)平均快20倍,比JSQLParser(使用JavaCC生成)平均快30倍,在批量Insert场景、多列查询场景下,使用FastSQL后速度提升30~50倍。

    ★ 无缝结合优化器

    在结合AnalyticDB的优化器的SQL优化实践中,FastSQL不断将SQL Rewrite的优化能力前置化到SQL Parser中实现,通过与优化器的SQL优化能力协商,将尽可能多的表达式级别优化前置化到SQL Parser中,使得优化器能更加专注于基于代价和成本的优化(CBO,Cost-Based Optimization)上,让优化器能更多的集中在理解计算执行计划优化上。FastSQL在AST Tree上实现了许多SQL Rewrite的能力,例如:

    常量折叠:

    SELECT * FROM t1 tWHERE comm_week BETWEEN CAST(date_format(date_add('day',-day_of_week('20180605'),date('20180605')),'%Y%m%d') AS bigint)AND CAST(date_format(date_add('day',-day_of_week('20180605'),date('20180605')),'%Y%m%d') AS bigint)------>SELE...

  • ?

    巨无霸们的数据架构大比拼:Facebook Amazon Airbnb的海量数据如何记录分析

    瞿似狮

    展开

    大数据文摘作品,转载要求见文末

    作者 | Michelle Wetzler

    编译 | 璐、颖子

    全球最好的数据架构长什么样?

    我们认为使用事件数据的公司会有很强的竞争优势。这一点在世界领先的科技公司中似乎都得到了证明。脸书、亚马逊、Airbnb,Pinterest和Netflix公司的数据工程师团队一直令人称奇。他们的工作为软件和商务的认知设定了新准则。

    因为他们的产品被广泛的使用,这些团队必须不断重新定义大规模数据分析。他们在数据架构上已经投入数以百万计的资金,并且拥有比大多数公司的整个工程部门人数还多的数据团队。

    如果你对大型公司的大数据框架感到好奇,下面我们将介绍最好的集成架构。

    Netflix 网飞

    尽管拥有9300万月活跃用户,网飞在交互上没有任何缺陷。他们每天可以收集到大概5千亿条事件数据,大概占1.3PB。在高峰时段,他们每秒会记录800万条数据。网飞雇佣的数据工程师和分析师超过100人。

    下面是在网飞之前公布的公司数据架构的简图,主要包括Apache Kafka, 弹性搜索, AWS S3, Apache Spark, Apache Hadoop, 和EMR。

    来源http://techblogflix/2016/02/evolution-of-netflix-data-pipeline.html

    Facebook 脸书

    由于拥有超过10亿的活跃用户,脸书的数据库是世界上最大的数据库之一,储存了超过300pb的数据。这些数据会用于各种应用程序,从传统的批处理,到图像分析、机器学习和实时交互分析。

    为了实现大规模交互查询,脸书的工程师设计了Presto,一个使用特定分析优化的定制分布式SQL查询引擎。上千员工在使用这一引擎,这些人每天跨越各种不同的后端数据库,如Hive, HBase, 和Scribe,执行超过3万个查询。

    Airbnb 爱彼迎

    爱彼迎支持超过1亿用户对200万条房屋记录进行查询。另外,爱彼迎可以为用户智能地提供旅行建议,这对其发展是非常重要的。他们的团队建立了一个很棒的博客AirbnbEng,去年他们在博客上介绍了爱彼迎的数据架构。

    在我们去年办的一个聚会中,爱彼迎的数据科学部的经理, Elena Grewal说“要建立一个世界级的分析团队”。他提到爱彼迎的数据团队已经超过30人,公司每年付给这些职员的薪水超过500万美元。

    Pinterest 品趣志

    品趣志有超过1亿的月活跃用户和超过100亿的月页面访问量。在2015年,他们的数据团队的工程师就超过了250个。他们的架构很大程度上依赖于Apache Kafka、Storm、Hadoop、HBase 和 Redshift。

    品趣志的数据架构概览

    品趣志的团队不只需要持续记录巨量的客户数据,他们还需要给他们的广告商提供详细的分析结论。Tongbo Huang写过“在品趣志的背后:建立品趣志分析系统”(https://medium/@Pinterest_Engineering/behind-the-pins-building-analytics-f7b508cdacab?s=hi-from-keen-io),该文章介绍了他们怎样改进数据分析软件栈以满足上述的需求。下图说明了他们如何运用Apache Kafka、AWS S3、和 HBase来实现目标的:

    Pinterest商务分析系统数据架构

    Pinterest商务分析系统客户界面

    Twitter / Crashlytics

    Crashlytics Answers团队建立了用来处理每天百万记的移动设备事件的架构。

    事件接收器

    存档

    批处理

    运算速度

    组合视图

    致谢

    感谢协作数据工程社区,他们不仅持续发明新的数据科技,并且坚持开源并分享他们的知识。如果不是之前那么多工程师团队所做的基础工作,我们的工作不可能完成。同样如果没有那些日以继夜一直与我们并肩作战的人,我们的工作也不可能完成。欢迎在文章后进行评论和反馈。

    特别感谢上面提到的文章的作者和架构师:网飞的Steven Wu, 脸书Presto的Martin Traverso , AirbnbEng,Pinterest Engineering, 和 Crashlytics Answers 的Ed Solovey 。

    原文链接:https://blog.keen.io/architecture-of-giants-data-stacks-at-facebook-netflix-airbnb-and-pinterest-9b7cd881af54

  • ?

    技术干货 | DataHunter CTO马珂:海量数据分析与可视化

    超频

    展开

    对于个人而言,数据可视化是我们在日常工作中常常能够接触到的一项重要技能,通常,我们会使用Excel进行简单的图表制作,通过这些图表,我们进而就对这些数据有了一个直观的了解和认识。

    而对于企业来说,想要“读懂”存储在服务器上的大量业务数据,绝不是Excel能够完成的,这需要数据处理、分析、可视化呈现等一整套解决方案。因此,在实施大数据战略,或者说部署数据分析产品时,很多企业都会有这样的疑问:如何处理海量的业务数据?借助什么样的分析手段才能发现数据价值?如何确保数据可视化分析过程中的实时性?在第九届中国数据库技术大会(DTCC 2018)现场,DataHuner CTO马珂就针对这些问题进行了讲解。

    本次分享,马珂从企业内的真实业务场景出发并结合测试实例,逐步介绍大数据时代下,数据可视化分析的技术架构与组成。同时,马柯详细介绍了探索式分析、实时数据分析的技术原理及企业应对海量数据分析的处理方法。

    谈谈数据库性能优化

    近些年,数据库技术不断推陈出新,从传统的关系型数据库到NoSQL,或者说从行存储发展到列存储,数据库的查询方式发生了根本性的变化。

    关系型数据库,基于存储结构,其在模型定义(ORM)、数据关联(TableJoin)、聚合计算(Group)等方面具有优势,关系型数据库的特性往往也是非关系型数据库的短板;而非关系型数据库在处理海量数据(千万行以上)方面则性能突出。

    谈到数据库性能,从算法层面来讲,其实无论哪种数据存储结构,基于算法的优化都已达到极限。目前提升数据库性能的途径,主要集中在IO层面,例如DFS系统、MPP的架构。内存数据库(如Redis)虽然在性能上是一种质的提升,但其持久化所引发的一系列问题,可能会使架构复杂度增加,不一定适用于所有场景。

    另外,非关系型数据库向关系型数据库查询(T-SQL)的兼容,例如Hive,确实已经取得了长足的发展,但目前看还不够成熟,暂时无法做到平滑迁移。

    还有一个隐含的问题,我们可以以一种娱乐的心态观察一下,即:分布式计算。对于以统计学为基础的数据分析,是一种基于全量数据的计算。所以在这种前提下,分布式计算极有可能是一个伪命题。

    在MPP架构中下的RDB中,分布式计算应当是耦合在某些查询当中的,例如count(*),这实际上是由分布式存储所带来的算法优化。是否也可以通过某种加权算法,来协调其他的聚合算法?然后用架构性能来抵消加权算法所带来的新的复杂度?我相信答案是肯定的。

    可视化技术的演进

    相对而言,数据分析技术有比较成熟、丰富的理论和实践支撑,而可视化技术则比较匮乏。从定义上来讲,数据可视化主要是为了增强数据的显示效果,方便用户以更加直观的方式查看数据,进而发现数据中隐藏的价值。

    近几年,随着显示技术的突飞猛进,包括从显示器、投影仪,到现在的LED巨幅屏幕,VR/AR,全息技术,乃至移动设备和性能的升级,使得数据可视化领域有大量有趣的事情可以做。回到企业场景,我们可以把可视化分为两个层面的问题:即数据分析中的可视化:从报表到分析、数据展示中的可视化:从平面到多维。

    大数据时代的到来,也让数据可视化技术得到了更多的关注,但面对海量数据,可视化技术目前仍然存在很多亟待解决的问题,包括海量数据的ETL处理、实时数据处理等。未来,随着人工智能和机器学习技术的快速发展,其与可视化的结合,相信也会是一个重要挑战。

    探索式分析技术

    数据分析当中的可视化,最直接的表现就是各类图表。其实,我们在借助Excel或其他工具生成图表时,实际上已经在可视化这条路上迈出了第一步。

    在数据分析层面,传统的数据分析有明确的目的性,从数据来源、分析方式、输出结果等方面,都是有传统的业务逻辑支持的,按部就班地进行分析即可。但是进入集约化生产之后,如何调优生产、降低成本,这些事情就不是那么明确了。

    与此同时,由于前期的数据积累,数据分析师所面对的数据体量也越来越大。如果我们将传统的数据分析称为粗放式分析,那么当前企业所面临的挑战,是对所拥有数据的精耕细作。这种集约化分析就是对数据金矿的深度挖掘,是企业的必经之路。其背后的分析方式,也就自然进入了探索式分析阶段。

    在探索式分析中,可视化(或者说各类图表)此时是用户快速捕捉数据特点最有效的途径,在这种场景下,可视化对象是一个结果集(分析结果,小数据),虽然数据量较小,但人类依然无法直接处理。

    同时,因为探索式分析需要协同决策,所以对可视化表现的合理性有较高的要求,背后应该有统一的绘图标准,来实现可视化方式的切换。狭义的数据可视化,也就是图表,我们将其抽象为以下几个部分:

    坐标系

    1. Rectangular Coord(Q-1, Q-All)

    2. Polar Coord

    3. GEO

    度量(Metric)的图形表达

    1. Size(Distance, Radian)

    2. Direction

    3. Extreme(SUM,MAX,MAXMIN)

    4. 色彩饱和度

    维度(Dimension)的图形表达

    1. Delta(Position, Angle)

    强调(基于维度)

    1. Color

    2. Animation

    在这个体系下,可以将我们熟悉的几种图表进行建模。这里我们先不考虑“色彩饱和度”和“强调”两方面的参数。

    柱图:

    Rectangle: [0, 0, 400, 300]

    Coordination = Rectangular:Q1

    坐标系:第一象限

    Metric = Size:Distance;

    Direction =[Left, Up];

    Extreme = MAXMIN

    度量:距离的Size;左向右排列,下到上为正像;参考极值:最大最小值差。

    Dimension = Delta:Position, Offset =[0, 0.8];

    纬度:位置偏移,位置矫正:0,视觉矫正:0.8(该参数具体表现为柱图的宽度内缩)

    饼图:

    Rectangle: [0, 0, 200, 200]

    Coordin+tion = Polar

    坐标系:极坐标系

    Metric = Size:Radian; Direction =[Clockwise]; Extreme = SUM

    度量:弧度Size;顺时针排列;参考极值:总和

    Dimension = Delta:Angle, Offset = [0,1];

    纬度:角度偏移,位置矫正:0,视觉矫正:1

    极柱图:

    Rectangle: [0, 0, 300, 300]

    Coordination = Polar

    坐标系:极坐标

    Metric = Size:Radian, Direction =[Clockwise]; Extreme = MAXMIN

    度量:弧度尺寸,顺时针,差极值参考

    Dimension = Delta:Position, Offset =[0, 0.8];

    纬度:位置偏移,0位置矫正,0.8视觉矫正

    在这种可视化体系下,我们首先可以对各类图表的适配能力进行归纳,并对图表的表现能力进行量化,从而形成基于数据集特点的图表推荐算法。前面提到,每一个图表实际是一个模型。我们在基于SaaS的数据分析产品中,会将这个模型与行业、用户使用习惯结合,借助机器学习,最后产生图表的AI算法。

    实时的数据可视化分析

    如果说探索式分析的可视化,是OLAP的可视化,那么实时数据可视化,可以说是OLTP的可视化。这种情况下,时间维度往往是基础维度,因为OLTP对实时性有较高的要求。所谓实时性,具体体现在时间切面的密度、采样精度等问题上,从而决定了数据窗口的大小。基于B/S的产品结构,我们对像素绘图的性能进行了测试。浏览器端的绘图分2D和3D两种,基本数据如下:

    Mac Pro i7 8G Inter Graphic-card

    类型|复杂度|FPS

    Canvas 2D 400,000 11FPS

    Canvas 3D 1,000,000 30FPS

    这里面的复杂度,为一次最简绘图,即描绘一个点的动作。由于Canvas3D(WebGL)调用了显卡计算,所以点绘图方式和2D有所不同,这其中还包含了线绘图和自旋计算。WebGL接口所使用的GL是OpenES,与OpenGL同源。

    当然,2D和3D绘图可比性不是很高,但通过这两组数据,我们可以基本了解在浏览器端,2D和3D绘图方面我们能够达到的性能上限。在我们实际遇到的客户场景中,有个上限8万点绘图,2FPS刷新率的案例。根据上面的测试数据,我们可以看到,2D性能完全可以满足需求,富裕的算力可以放在优化视觉效果和用户体验上。

    此外,三维甚至多维空间中的可视化还处在萌芽的阶段,在这种场景下,会让数据可视化变得更加困难。未来,随着可视化技术的不断发展,我相信三维空间下的可视化理论会有大幅升级,同时由于显卡GPU的支持,其渲染能力也会大幅度提升。

    今天的分享就到这里,感谢大家聆听。

  • ?

    数据可视化大屏+日志大数据分析平台,数据智能解决方案改变世界

    Githa

    展开

    编者按:在云计算大数据技术日趋成熟的当今,数据挖掘分析与商业智能应用的价值越来越被企业所理解。企业通过对关键业务数据、客户信息以及日志数据的挖掘分析,可进行精准的客户画像并分析客户属性,更准确地发现目标客户和更多的营销机会(市场客户分析、交叉营销等),实现市场、渠道和产品的细分与创新,动态掌握复杂市场需求的变化,智能数据解决方案提升了市场竞争力。

    说到智能数据解决方案供应商,去年刚刚获得6000万元融资的“袋鼠云”最近可谓是“动作频频”,不仅多名前阿里核心技术人员强势加盟,更有硅谷留洋“博士团”鼎力回归,让“袋鼠云”这一新锐品牌迅速被数据行业“特别关注”。

    数据智能解决方案新锐品牌“袋鼠云”从数据资源规划及获取、数据质量分析及提升,到基于中台策略的数据整体建模以及数据的资产管理都有切实的解决方案,进一步帮助客户建立标签引擎的实体画像,从而帮助客户实施数据指标体系梳理计算(BI)和数据应用规划及实现(DI),最终用数据可视化大屏的形式呈现出来帮助实时决策。可以说“袋鼠云”的智能数据解决方案的产品线可谓“相当完整”。

    “袋鼠云”产品线构建了统一负载的全量数据分析平台与方案,统一的在线实时存储、处理、分析工具,支持PB级海量数据处理,可随业务需求线性扩展,为客户实现“即时刻画、秒级呈现”的数据可视化大屏呈现方式。

    记者采访中了解到,目前“袋鼠云”品牌在全产品线的智能数据分析解决方案中,日志大数据分析平台与数据可视化大屏即时呈现两大方面技术积累与产品优势十分明显。

    EasyLog日志大数据分析平台—用日志解析为企业做体检

    “我们将为客户从大量的数据日志项目中,根据客户业务现状清洗整理出切实可行的关键日志信息,做好日志数据挖掘和分析利用,充分在运维过程中给客户带来价值。” 袋鼠云在采访中给记者解释:“传统企业对于海量日志数据利用效能很低,而每次都靠IT人员查阅日志进行系统运维的方式既成本高昂而且运维稳定性很低,而采用了袋鼠云的日志大数据分析平台EasyLog就可以大大提升企业运维的效率,对于很多潜在的系统问题也能做到良好的预警。”

    据介绍,目前袋鼠云日志大数据分析平台EasyLog主要部署在大中型互联网企业以及互联网金融行业,也有大型的金融机构、电信运营商等等,这些行业都非常重视日志大数据对于企业运维的作用。

    同时袋鼠云日志大数据分析平台EasyLog也可帮助企业满足《中国网络安全法》日志归档要求、满足《公安部息系统安全等级保护》三级要求;

    袋鼠云向记者进一步介绍:“目前企业针对日志大数据分析应用有几种方案,一种是基于开源应用的ELK方案,另一种就是类似袋鼠云提供的日志大数据分析平台。前者由于是开源应用,因此企业的前期开发与后期维护成本比较高,也面临无可预计的开发风险,而后者袋鼠云日志大数据分析平台更像是一个“拎包入住”并自配资深管家的成熟方案平台,让客户省去很多后顾之忧。”

    而且在采访中记者了解到:“袋鼠云日志大数据分析平台,也有灵活的部署方式,既可以在客户方线下机房部署,也可以部署在云端服务,甚至针对小型企业袋鼠云还有SaaS版的轻量级产品,针对不同的客户可谓“面面俱到”。并且这样的金融级日志分析、AIOps平台,可用于故障定位、业务监控、安全审计等,袋鼠云日志有着可视化仪表盘、监控告警、数据脱敏、数据转发投递、多租户数据隔离等特色功能,可根据企业实际业务完成分析场景建设,以提升企业故障发现率、运维运营效率。

    “目前著名的互联网银行品牌新网银行在旗下十余个核心系统中均采用了袋鼠云的日志大数据分析平台EasyLog,从而提升了各业务系统故障发现率,同时极大降低故障处理时间,也成为了成功的众多案例之一。”采访中记者了解到。

    数据可视化实时大屏—实现企业数据化运营

    而作为袋鼠云全产品线中另一个亮点的“数据可视化实时大屏”也是目前炙手可热的技术,数据产生价值这个大方向让最后呈现的环节中的数据实时分析产生价值,呈现一切价值数据可视化,最终帮助提升生产效率、促进产业变革,通过客户产业创新让数据价值最大化。

    采访中记者了解到,袋鼠云数据可视化实时大屏目前主要服务的行业包括新零售、智能制造、智慧人社、以及业务快速增长的互联网创业公司等。

    采访中记者了解到,新零售方面一直是袋鼠云的强项。一方面借助营销引擎帮助品牌商打通线上线下的用户数据,实现精准营销。围绕客户的发展与持续经营,统一管理线上营销渠道,打通全域数据,通过数据个性化线下门店服务体验等,使企业与客户之间可随时无阻碍的连接。这些数据与分析都以精准实时的形式呈现在客户的可视化大屏之上,让客户从容决策。

    “要精准呈现数据可视化大屏的最佳效果,数据的实时性采集非常重要,袋鼠云实现了对TB级别甚至是PB级别数据的实时处理,实现秒级反馈是最基本的要求,这得益于袋鼠云的技术团队多数来自于阿里云,在实时数据计算处理与呈现方面有丰富的经验。”可视化大屏将企业实时数据即时呈现,比如电商平台的经营概况、用户画像等信息一目了然。

    编后:目前袋鼠云的团队已经超过 150 人,80% 左右为技术人员。当下更多的资深技术专家,包括美国回来的人工智能博士和一批专注企业服务多年的行业专家都纷纷加盟袋鼠云,让数据产生价值。无论是数据可视化实时大屏Easy[V]或是日志大数据分析平台EasyLog,智能数据解决方案最终让更多的数据产生价值,让未来变成现在,袋鼠云这一朝气蓬勃的品牌团队正在朝向探索未来数据价值之路上越跑越快。

    本文关注:日志大数据分析平台、数据可视化大屏、数据智能解决方案

    转载或分享请注明来源标题《数据可视化大屏+日志大数据分析平台,数据智能解决方案改变世界》

  • ?

    互联网数据分析入门:流量分析

    莫青文

    展开

    当今时代信息化产业飞速发展,各类底层大数据平台百花齐放,亿级数据、秒级响应已经不再是当年的遥不可及的神话。然而对于企业来说,数据计算快仅仅是满足企业进行业务数据分析的硬件基础,如何发掘这些海量的数据产生应用价值,走好数据分析这最后一公里,引导企业进行战略决策却是至关重要的一步。

    本文以互联网行业为数据业务分析背景,希望能跟大家交流一些数据分析方面的心得和体验。

    ——本文使用数据分析工具为FineBI 商业智能工具

    数据分析的本质其实是做数据对比分析,没有数据对比,单一的指标统计往往难以发挥数据价值。像我们常见的数据对比分析方法有同比、环比、占比等一系列分析指标,那是不是所有的数据业务场景都可以直接进行套用分析呢?比如我们统计企业2018年1月29日的同比流量,是不是可以直接对比2017年1月29日?表面上看好像2017年1月29日确实就是2018年1月29日时间层面上的同比日期,但是我们仔细对比查看这两个日期会发现2018年1月29日是周一,2017年1月29日确是周日。对于很多行业的企业来说,非工作日和工作日的数据往往是有很大差异的,这个时候单纯从日期层面来进行对比其实是没有什么意义的,选择对比同是周一的2017年1月30日的流量数据进行同比计算可能会更加有价值。

    目前互联网行业做搜索引擎的有Google、百度,做综合门户的雅虎、新浪,做即时通讯的主要是腾讯,电子商务方面的主要是阿里、京东、亚马逊等。不论是以上的哪家互联网企业,往往都需要有一套引流、转化、消费、留存方面的运营策略,平台的流量数据分析往往都是非常重要的。

    互联网流量数据分析方面,总结主要有如下四种数据常用分析方法:

    1.对比分析流量规律,针对时段进行企业服务以及推广活动调整;

    2.对比分析结构占比,指导进行定向群体营销推广

    3.对比分析异常情况,及时追责并且进行调整;

    4.对比追踪活动流量变化,总结活动效果经验以便后续有针对性调整。

    如上图所示,我们通过FineBI工具制作出以上的流量数据分析模板,接下来尝试着对数据做一些对比分析。

    一、用户浏览量周分布

    对于互联网企业来说,流量数据往往都会呈工作周相关。对此,我们可以先宏观地统计出周一到周日中的总的平台流量柱状图数据对比情况。首先我们可以仔细观察工作日和非工作日的数据,发现周末的平台流量较工作日流量要高,这在互联网行业来说都是一个比较普遍的现象。

    用户流量的周分布规律之后,我们就大致有一个推广方向,周末休息时间用户群体较大,相较于工作日可以投入更多的和丰富有吸引力推广活动来进行新用户引流和老用户活跃。

    接着我们可以进行下一步思考,那工作日和周末我们的活动推广时间如何制定?有的同学们可能会觉得全天活动都可以,不需要关注具体的活动时间。但是对于互联网行业来说,每个时间段的推广费用都是较为昂贵的,我们完全可以分析出工作日和周末的用户流量趋势,进行有针对性的时间段投入推广,通过更小的成本获取到更多的用户流入。

    首先是工作日的时间段流量统计分布,我们通过BI工具分时间段作图得到如下所示的流量分布图。可以看出,工作日的流量主要集成在每日的9点(上班时间)、13点(午餐时间)、20点(晚间娱乐休息时间),那么在得到这样的一些用户流量规律之后,便可以在这些用户活跃高峰期时间段有针对性对白领群体多做一些相关商品推广活动,以实现最小时间成本和推广费用最大化用户引流效果。

    再来看周末的各时间段流量分布走势,和工作日所不同的是,周末的流量早高峰期延后到了10点,这可能和各位小伙伴们周日作息较晚有关(同学们周末都是几点起床呢),除此之外,晚上的流量高峰退潮期也有延后。针对与周末用户流量分布的特性,互联网企业在周末时可以将活动开始时间和活动结束时间都适当进行延后,这个时候不能再套用工作日制定好的活动时间计划了,因为符合用户群体作息规律的推广促销活动才能达到更好的效果。

    二、推广渠道流量分布

    对于互联网行业的推广渠道分布主要分为三级渠道:线上渠道、线下渠道、新媒体营销等等。对比分析每个渠道对企业所带来的价值占比差异,以指导制定有针对性营销策略。

    如上图所示,由于推广渠道是分多层级的,我们通过BI工具的多层饼图进行数据的分析统计再合适不过了。分析下图的数据我们可以看出,首先是一级渠道的主要战斗力来自于新媒体营销,当今的微信、今日头条等社交媒介社区时代受众广泛,用户群体非常庞大,是公司需要投入主要成本进行推广的。其次线上渠道的效果也不容忽视,对于互联网企业来说,做好百度、Google等SEO搜索引擎关键词推广也是很重要的一部分工作。相较于线上渠道和新媒体营销,线下渠道说所需要的经费和时间、人力成本较大,受众又相对较小,所以此类活动往往针对核心粉丝进行运营即可。

    三、各月份指标对比走势

    在分析各月份指标对比走势数据之前,先简单介绍下互联网营销常用的几个指标概念:

    1.浏览量(pv)

    2.访问次数(visits)

    3.访客数(uv)

    以上三个基础指标常用来衡量流量数据的多少。另外平均访问深度(总浏览量/访问次数)、平均停留时间(总停留时间/总浏览量)、跳失率(跳出次数/访问次数),这三个指标通常可用于衡量流量指标的优劣性。

    我们仔细分析上图中的平台流量指标,可以发现10月份是2017全年的流量高峰期,应该跟企业在国庆黄金假期所做的促销引流活动有关。浏览量、跳失次数、访问次数分别为4941、1290、2182,对比计算可得到跳失率为59.12%,明显低于其他时间段的跳失率,说明10月份的活动效果还不错,其经验对以后的营销推广可以起到参考作用。

    最后是访问深度用户群体分布分析(跳失率=跳出次数/访问次数),我们通过BI工具将企业的VIP用户、老用户、新用户分别进行分时间段的用户群体访问深度分析统计。总体来说可以发现平台的VIP用户访问深度较老用户以及新用户稍微高些,但是不是太明显,说明平台运营的VIP这部分群体的活跃度还有待提升。同时,平台老用户访问深度和新用户更是相差无几,公司对于用户这方面的活跃运营明显需要加油了,建议将平台的部分忠诚度较高的老用户以VIP用户组建起来,共建平台生态圈,增加整体的用户活跃度。同时可以向老用户以及VIP用户实施一些优惠政策,如定向商品折扣、根据用户画像进行喜好商品特惠推送等。

    本次的数据分析经验心得分享暂时先写到这里,后续将继续给大家分享关于互联网数据运营方法的转化、消费、留存等方面的一些经验,欢迎大家一起共同交流探讨互联网运营之道。

  • ?

    海量大数据平台的运维智能化实践

    Helen

    展开

    【IT168 技术】本文根据徐小飞在2018年5月12日【第九届中国数据库技术大会(DTCC)】现场演讲内容整理而成。

    讲师简介:

    徐小飞,阿里巴巴技术专家,目前就职于阿里计算平台大数据基础工程技术团队,主要负责支撑阿里大数据智能运维体系(公司内部产品名称——Tesla)的建设,团队致力于打造通用的智能化SRE中台,目前该中台运维体系承载阿里10w+规模节点运维工作。

    本文摘要:

    介绍Tesla如何支撑阿里离线计算和实时计算两大海量大数据平台的标准化日常运维运营,以及探索如何构筑运维领域的知识图谱,打造针对大数据平台和大数据业务的数据化全息投影,实现多维的立体化监控、智能决策分析、自动化执行的运维闭环。Tesla是面向企业级复杂业务系统的数据化驱动运维解决方案,解决方案包含一个统一运维门户(运维工单、运维垂直搜索)和四个运维基础平台(流程平台、配置平台、作业平台、数据平台),集日常运维工单管理、自动化发布变更、统一配置管理、统一任务调度、智能监控告警管理、异常检测预测、故障自愈等。

    分享大纲:

    ·运维新趋势

    ·Tesla运维解决方案

    ·DataOps数据化运维

    ·数据价值转化

    ·AIOps征程

    演讲正文:

    大家好,我叫徐小飞,很开心能够有这样的一个机会在这里和大家交流。今天主要给大家介绍一下围绕阿里大数据体系的的运维智能化实践。

    我所在的团队叫大数据基础工程技术,通俗点说就是大数据SRE(为什么起基础工程技术这个名字? SRE文化里有个最核心的点就是使用软件工程的思想来解决运维问题),我们团队支撑的是整个阿里大数据生态的运维运营,并沉淀出一套自己的运维解决方案体系——Tesla,这套体系是一个分层体系,包含了面向运维领域功能的运维中台和面向具体大数据平台业务的运维应用。目前Tesla承载了阿里大数据平台及业务共10w+规模节点的日常运维工作。相信了解阿里的人都听过这样一个词——“大中台和小前台”战略,同样在运维领域,我们也是利用这个战略来构筑我们的业务:大中台提供通用的运维领域功能,而小前台可以基于业务场景快速试错、创新。首先我们先看下运维的新趋势。

    一.运维新趋势

    刚好这几天Google IO大会也正在召开,相信在座的很多同学都会关注,今年的大会中有一个很吸引眼球的话题,就是在开场第一天放出来的两段Demo视频,是个电话录音视频,内容是Google助手帮助客户打电话到发廊或餐厅去做预约。那么亮点在哪里呢?在整个电话预约的过程中,发廊和餐厅的人完全没有感知到和他们交流的是AI机器人。换句话说,AI机器人已经达到了以假乱真的效果,不仅在交流过程中有语气词和思考,而且当话题出现中断时,还会提出反问句,能让话题回到机器人所要的情景进行下去。

    Google对外宣称在某些特定领域,例如预约领域,他们已经通过了图灵测试。图灵测试大家可以去了解一下,图灵有一篇针对未来机器智能的论文,一句话解释论文里的图灵测试:当人机交互时,人类完全感觉不到对方是个机器人,那么就标志着进入了机器智能的时代。

    大概在三年前,Google提出了AI战略。时至今日,我们看到Google在很多领域都渗透了AI,Google的AI并不是做一个全新的AI产品,而是将AI赋能到它的顶尖产品中。所以,我们表面看到的是预约服务,但其实为了达到这个效果是需要很强大的数据+算法的支撑。我们经常提到的ABC(AI,BigData,Cloud),想要实现AI,前提一定是大数据和云计算,而在运维领域也同样是如此。这两年AIOps特别火,同样地我们认为要实现AIOps,一定是先有运维的数据和计算,就是说从DevOps到AIOps之间,有一段DataOps必经之路。

    如何理解DataOps呢?首先,我们要拿数据来感知我们所运维的系统,继而利用数据分析做一些决策,再往下就是去触发自动化的智能闭环。我们认为DataOps中最核心的过程就是运维感知、决策和执行。

    我们把无人驾驶和无人运维做了一个类比。无人驾驶也是Google第一个提出来的,现在有很多厂商投身其中,如果细看无人驾驶,其实我们发现与无人运维类似——无人驾驶是在传统汽车上附加智能感知、决策、智能控制系统。但是真正的无人驾驶还没有达到,即使是Tesla(马斯克的特斯拉)也不例外。而终极AIOps想要达到的是也是无人运维的效果,即在DataOps 的感知、决策和执行三个阶段都附加上AI智能。接下来先看下整体的Tesla运维解决方案。

    二.Tesla运维解决方案

    上面这张图是阿里大数据的体系,左边最底层是基础设施,包含了底层依赖,机房、天基、Staragent;其上有两大基础平台,一个是飞天平台,这是完全自研的,另一个是Hadoop平台。这两套平台之上分别对应的是MaxCompute和StreamCompute两大存储计算平台;再往上是数据应用层。而右边是Tesla大数据运维解决方案,我们可以看到Tesla贯穿了整个阿里的大数据体系,负责从基础设施到基础平台到存储计算平台的所有产品的运维支撑。

    简而言之,Tesla就是在为阿里的大数据保驾护航。

    MaxCompute是大数据的核心业务,而DataWorks可以理解为是一个面向开发者的前端,是MaxCompute的门户。 MaxCompute基本上承载了集团90%以上的计算和存储。在阿里,凡是和数据打交道同学都会用到DataWorks。StreamCompute承载了集团几十个BU的实时作业。大家可能感触最多的是每年的双11大屏,这背后都是由StreamCompute实时作业传上去的,可以达到秒级、毫秒级。最后是我们内部的机器学习PAI和AnalyticDB。

    这张图是Tesla运维解决方案架构图。整个Tesla运维解决方案是一个分层的体系,从SRE中台到SRE应用。整体是一个垂直体系,也可以拿SPI来分,中台最底层是IaaS,IaaS层是最基础的公共集团的设施,之上是核心运维PaaS层,其中包含四大平台+两大类服务。 四大平台与运维人日常的工作相关,分别是配置平台、作业平台、流程事件平台和数据分析平台。再往上就是SaaS层,提供了所有的平台和服务。Tesla平台支撑了阿里大数据的十几个平台,因为每个大数据平台业务产品的运维特性都是不一样的,肯定无法做到一套运维系统支撑所有的产品运维运营,所以我们就采用了分层战略: 运维开发团队提供平台,而针对具体产品的运维应用由SRE同学利用平台去构筑。典型的SRE应用包括常见的集群管理、资源管理、监控告警、故障管理等。在这张图里我们可以看到DataOps体现在数据分析平台这一层。

    这张图是应用维度。SRE应用这一层的功能也是分层的,最下面是其所依赖的基础平台,往上是面向业务的功能(包含业务中心、服务管控、平台运营、工具服务、运维中心和运筹优化),利用这些功能向上支撑具体的运维场景(围绕稳定性、成本、质量、效率、安全以及体验的维度),最终服务好业务的各类用户。

    在运维/运营平台中抽象出了几块内容,开发框架、资源整合、运维数据化和智能分析。因为最终系统都是相似的,所以我们会给提供前后端框架、服务网关、二方依赖包以及工具插件,业务SRE只需在环境上去获取数据,做数据处理、元数据管理以及提供数据查询的服务。运维数据化(DataOps)就是我们前面提到的,智能分析支撑常见的运维场景,比如最典型的故障处理、监控分析、大促保障以及值班客服等,他们面临的客户是一堆客户,这也是DataOps在SRE应用上的体现。接下来我们重点解释到底什么是DataOps。

    三.DataOps数据化运维

    什么是DataOps?如何做DataOps?阿里五新战略中有一个新能源,我们认为数据就是新能源,现在已经进入到信息爆炸的时代,大家刷淘宝天猫时的每一次行为都会触发日志,这些日志最终都流到我们的平台里。如此海量的数据,如果能有效的组织管理好,那么就可以从中挖掘出价值,但如果管理不好,就可能会是个大灾难。

    算法+技术,再结合数据就会产生新能源,而现在比较通用的数据挑战是我们怎么有效的去收集、清洗数据?如何保证数据的实时性、准确性?如何将无序的、没有结构的数据有序、有结构的分类、组织、存储管理起来?如何通过算法去打通数据,连接、分析数据,并从中提炼出价值?这一系列的问题就是DataOps需要解决的。

    什么是数据化运维? 我们这样定义:就是把所有系统的运维数据全部采集起来、真正打通,深度挖掘这些数据的价值,为运维提供数据决策基础和依赖。 从系统“稳定性、成本、效率、安全”多个维度去驱动自动化、智能化的运维运营,从而助力实现真正的AIOps。

    相比于传统运维,DataOps的改变可能就是把传统的使用命令、人工决策的运维过程转变成数据+算法的模式。

    DataOps是实现AIOps的一个必经之路,是一个运维闭环。如何做数据化运维呢?右边这张图来自《大数据之路》这本书,当然这张图说的是阿里整个的数据中台,阿里数据中台把全公司所有和数据相关的东西都整合了起来,提供了一套统一的数据中台。其中,最下面是数据采集层,往上是数据库同步工具,中间是MaxCompute和StreamCompute,也就是数据存储计算层,最上面是数据服务层和数据应用层。

    数据中台中的方案体系是OneData,它是用来规范数据中台,如何维护、组织、管理和使用数据的。OneData之上是OneService,有了这套组织管理和两大计算平台之后,就可以提供各式各样的数据服务,并再向上提供数据应用。在阿里,基本上所有的业务部门都是按照这个套路来做的。

    如何做数据化运维?其实就是利用这套大数据体系来构筑大数据的数据化运营体系。这句话可能有点难以理解,更直白一点说,这套体系是由我们来运维保障的,但是过程中我们也利用其来构筑了运维运营体系。因为我们的使命是为阿里大数据保驾护航,而我们的做法也是用阿里大数据来做运维分析,数据化运维分解下来就是运维的数据采集、运维的数据计算、运维的数据服务以及运维的数据应用。

    前面讲的是方法论,现在讲讲具体的实操。利用数据中台,我们首先做的是按照OneData规范建立运维的数据仓库,然后把所有运维相关的数据做分类抽象,包含公共数据、业务数据、元数据,runtime实时数据。基于这些数据抽象,我们提供了大量的运维服务和数据服务,比如异常检测分析、故障自愈、可视化流程、运维搜索、运筹优化、全链路诊断以及业务驱动。下面结合几个例子来具体解释下如何做数据化运维。

    以全链路分析诊断为例,MaxCompute是一套离线计算平台框架,每天有百万级的任务在跑,这些任务都是由开发同学提交,当作业因为各种原因出现不可预知的错误,大家就会@运维值班人员看看是哪里的问题。后来我们发现,大部分问题是相似的,所以就总结经验,从用户都在这个平台上提交作业到最后执行的每个阶段都去打点、采集分析,做了一套全链路作业诊断工具。

    这是一个自助式的全链路诊断产品,提供一个入口,用户只要输入作业ID,我们就能延伸到整个上下游去查询所有的有可能的问题,包括它的资源申请情况、配置是否正确、数据依赖是否都已满足、历史情况如何、是否有长尾倾斜等等。

    上图中有我们工具的页面截图,可以看到左边是有分类的,其实在做这个全链路分析工具的时候,我们就把这个场景和去医院体检做了个类比,体检时医生要针对病人的各个环节做判断,然后输出病人的状态,OK还是不OK?如果有问题,立即提出来让病人去某诊室随诊。同样的,我们也是针对作业做了多个维度的检测,而且还会将诊断详情、时间分析、图表分析以及历史对比等,全部都透视给用户。最后的结果报告是用图表分析的,例如稀疏图形资源争抢,毛刺图形部分长尾、任意机器进程CPU消耗分析。

    第二个案例场景是硬件自愈,目前我们已经有10万+台物理机了,每天有大量的硬件故障在发生,比如硬盘坏了,主板坏了等等。如果机器比较少,那么我们可能人肉或者直接提单就可以了,但是当量级到了一定程度,每天几十单或者是上百单的硬件故障,这种方式就不适用了。

    所以我们就利用这套数据化的思路做了一个硬件自愈的流程。我们也是从服务器上采集到数据,然后流进流计算平台Blink再到数据仓库,做检测分析并得出决策。决策触发流程平台做一些自动化执行的action,调用集群操作系统去做机器维修等。

    硬件自愈的本质也是一个三阶段的闭环,在这其中我们的角色有很多。例如有些故障重启一下服务或者双向配置即可解决,而有些故障需要使用万能大法,重启机器才能解决。如果碰到解决不了的问题就要进入无盘状态,去做业务隔离、重新克隆、整机维修,维修完之后自动上线。整套流程全部是自动流转,我们是无人值守的状态。

    四.数据价值转化

    通过前文的方法论和两个案例,我们大概解释了一下如何做数据化运维,接下来,我们再透视一下数据化运维的本质——从运维数据到知识的价值提取。

    这里会涉及到几个概念,数据化运维的前提是先将一切对象数据化,也就是运维的全域数据,构筑完之后,使用知识图谱将这些数据连接起来,之后将数据当做服务提供给人,利用运维搜索去提供一些快速直达的服务。...

  • ?

    大数据十大平台集合

    芷蝶

    展开

    1数据星河大数据平台

    全球首款大数据产业链生态平台,大数据界的App store。

    实现数据模型、可视化引擎工具、应用场景、采集爬虫工具、清洗脱敏工具、数据分析平台、数据开发平台、数据管理平台、数据安全组件等大数据资产的分类展示、检索和使用。

    一站式服务,快速实现大数据应用设计,同时可在平台进行应用产品交易。

    2大数据可视化平台

    标准的、友好易用、具备丰富展示形式、与底层数据分析实现解耦。

    提供丰富的专业级可视化图表组件,在线进行图表配置、导出,提供使用指导。

    提供可视化产品工厂,以及Dashboard自定义布局。

    具备可视化编程能力,供用户快速开发可视化图表应用。

    3企信宝APP

    拥有约9000万海量企业信息数据。

    提供失信企业及失信人查询及公布失信榜单,全国各企业查询,股东高管数据挖掘,企业网站地址查询,企业风险信息监测。

    4农业大数据平台

    涵盖农业监测预警大数据平台、农产品全产业链追溯预警大数据平台和农业产业链企业信用大数据平台。

    覆盖农林牧副渔各行业,贯穿农业生产经营管理服务全过程。

    目标群体包括部级农业部门、地方农业部门、涉农企业、农业金融机构等。

    5金融大数据——54个九宫格小场景

    九宫格应用场景包含四大类别,分别是基础数据库类、决策类、预测类、预警类,基础数据库类场景满足客户对基本数据的查询,决策类场景助理用户根基数据分析得到的价值信息进行有效决策,预测类场景便于用户对于潜在的风险及时规避。同时,用户可以根据自身需求进行场景化自定义组合,以满足个性需求。

    6工商大数据平台

    包括工商大数据分析展示、企业信用信息大数据监管和市场主体全景谱图大数据分析服务。

    一网、一库、一中心、一平台、一门户,提升工商公共服务能力、市场监管能力、辅助决策能力和助推发展能力

    7食药监大数据平台

    对食品、药品、餐饮、中药材的生产、仓储、分销、物流运输、市场巡检及消费者等信息,以及产品名称、执行标准、配料、生产工艺、标签标识等数据,进行采集、跟踪、分析。

    使监管部分实现产品种养、生产、销售、流通、公众服务、物流等环节的整个生命周期的监管

    通过互联网等途径,实时呈现给消费者,实现食品药品全过程的全知晓。

    8旅游大数据平台

    显示最直观的客源、客流、经济收入数据、履约企业运营趋势、市场景气指数等指标。

    管理部门可以从宏观角度了解地区旅游产业的整体发展水平和竞争力,辅助管理者制定基于大数据的行业发展决策。

    所有数据来源于近五年累计数据(2011-2017),每周更新。

    9民意云大数据平台

    从海量的数据中分析民意诉求,精准分析民意热点——这是大数据在服务民意诉求中的重要作用。九次方民意云大数据平台,通过提供大数据操作台,方便用户实时全面了解区域内民意变化,根据推送消息进行应急反应。

    10传播力监测大数据

    根据全网采集的文章标题、作者、来源、时间等信息,计算文章的规范被转载量、非规范被转载量、以及文章的影响地域分析,并将各指标进行加权算法,帮助没提了解具体文章的全网传播详情。

    协助监管部门加强没提传播监管和提升媒体机构的传播咯、公信力、影响力和引导力。

  • ?

    海量实时用户行为数据的存储和分析

    秋冷霜

    展开

    在短时间内爆发大量数据,这时数据资源的采集、存储和分析和应用等,都是大数据行业的难点。行为数据、日志数据的处理,往往成为企业数据建设首先面对的瓶颈,这些数据不易保存,实时获取分析难度较大,但是数据价值却不可估量。

    在大数据中,90% 以上的数据爆发来自于行为数据,就像现在的互联网、移动互联网、甚至在产生于物联网中用来描述人和物的每一分每一秒的变化的数据状态,这些都是行为数据。

    行为数据能用做什么?

    行为数据能做什么?有一个简单的例子 —— 分析访客行为的路径,我们拿一个网站的数据进行分析,针对网站的访客,我们可以通过分析其访问前期、中期、后期的行为习惯去了解哪些引流的渠道需要加强投入,以及使用这些来指导内容编辑和竞品研究分析工作。

    实际上在做需求时,还有更多的细节要求如:对数据的实时性的要求比较高、要求数据的热点情报的准确性、与客户数据的协同分析等。

    行为数据的处理方式

    用户行为数据通常具备以下特征:

    用户基数大;

    高基数维度比较多;

    数据量大;

    时序的特征。

    我们用到的高基维,其中有些维度都是上千万的高基维参数。用户行为数据的处理,在支持原始数据查询的同时,也要支持原始数据的聚合能力。

    原始数据的聚合分析这块又分为两种,一种是过去常用的做法,通过一个固化的业务模型或者主题,提前计算好的数据,叫做物化视图。

    第二种是基于原始数据存储之后,在实时查询的过程中进行多维交叉的计算,这个称为实时聚合。

    在查询过程中对实时聚合的一个分析,也是大家在进行数据挖掘分析中共同面临的一个问题,就是针对海量数据。

    首先,针对这些数据,需要快速的检索出所需要的数据的行号。其次,在获取数据所在位置之后,如何快速地把数据装载到内存里,最后是装载到内存之后通过分布式计算的方式,怎么去把我们的结果计算出来。

    这些就是在做数据的实时查询过程中的需要具备的基本技术条件。

    挖掘数据新的价值

    面对海量实时行为数据的技术思考,主要是从四个角度来进行:

    第一,必须要以原始数据存储。为什么要基于原始数据存储?因为在整个的数据分析阶段,可以细分为三个阶段。第一个就是传统的是 BI 阶段。第二个是数据的挖掘,第三个是数据的预测分析。

    想解决这三个阶段的过程,以传统的方法是建一个数仓,基于数仓来实施的时,只能面向比较固化的业务报表模式,产生一些数据的分析结果,得到决策结果。如果想做数据挖掘时,基于固化业务模式计算的结果的很难满足数据挖掘需求,所以必须从初始阶段基于原始数据去提取其特征。

    基于固化的的业务报表模型所获取数据计算的结果,对数据挖掘分析的价值不高。存储引擎必须以原始数据进行存储,才能既满足 BI 阶段的需求,又可以解决未来数据挖掘与数据预测分析的需求。

    第二,要满足实时多维的查询,是为了在数据基于原始数据存储之后,去做到聚合结果能够满足用户对海量增量数据快速查询的需求。

    第三,快速响应需求,在企业内部,其实数据部门的需求量是最大的,各个业务部门的需求都往数据中心提,所以数据部门必须去解决好如何快速地响应业务需求。

    第四,数据的探索分析,以往把数据,按照固化的业务报表模式所获取的结果,做二次分析的空间量比较小。所以必须要基于原始多维的数据进行数据的探索,挖掘数据新的价值,而不是按照已有的固化的业务模式,只是生产出一些固化的业务模型的数据。

    平台架构

    数果现在基于之前做过的一些技术的预言跟验证,自行研发了一个基于 Hadoop 加速引擎,称为 Tindex。之前我也在网络上做过万亿级日志与行为数据存储查询技术剖析http://infoq/cn/articles/trillion-log-and-data-storage-query-techniques 的文章 ,也讲解了 Tindex 是如何实现的。Tindex 的实现主要基于三点,第一点基于索引,第二点基于类似存储的方式,第三点做了分布式内存计算的框架在 Tindex 中,使之能够支持数据的实时的多维分析的能力。

    基于加速引擎这块,在其上层做了一个适配层,有 SQL引擎。SQL 引擎支持 SQL 语句和表达式,还有大数据生态技术,目前已经是完全支持。基于适配层,来做不同的行业应用。这是数果整个平台技术架构的一个图。

    平台特性

    平台的特性方面,支持海量增量数据实时接入。在数据接入这块,现在提供可视化埋点,跟文件、MR 的一些数据的采集,就像我们目前在做的单进程的接入式,基本上在 3 万以上,从数据的产生,到数据显示、出现查询结果,在 5 秒以内即可实现。

    第二个特性,基于明细数据的存储与预聚合的存储分别去搭建。为什么不仅要基于原始数据存储,还需要预聚合存储?因为其有两种不同的需求。第一个是面向固化的高频查询的数据,我们可以基于预聚合存储的方式,去查询其周期跨度比较长的需求,一年两年都可以进行查询。但是基于近半年或者一年的数据需要进行深度数据探索分析的,便可以基于原始明细数据做实时聚合分析。还有在基于原始明细数据进行分析的时候,他会更佳灵活。

    第三,海量数据中怎么去实现快速检索,是基于搜索引擎的索引技术进行改造的。但是在筛选方式上,目前只能支持时间筛选、文本筛选和数值筛选,例如文本筛选中支持分词与模糊匹配,数值筛选中,数值的分组和数值的范围这些均可支持。

    这个展示的是灵活多维的分析,在这个界面中,左边的这一列中是基于原始明细数据产生的所有的维度,可以根据权限去进行显示。而在指标方面通过界面拖拽进行多维实时分析,选择想要的数据分析结果,进行可视化的展示,可以自由地数据探索。因为数据是基于原始明细数据的存储,所以不需要提前预计算。可以在界面上进行任意数据交叉分析,去了解数据的分布态是非常便捷的。

    通过指标的灵活定义,来实现实时响应的业务需求,这个指标定义这块有几个指标,一种叫单指标,即按照某一个维度进行一个聚合计算,通过界面可以简单、快速完成。另一种叫复合指标,需要进行一些四则运算,可以通过这个界面定义出来。

    在指标这方面还有比较复杂的,需要通过多个维度进行定义的,可以通过一些表达式,进行快速的定义,定义完成后就通过界面,直接看到结果,获得图形显示,进行数据分析。

    支持实时监控与跟踪告警,在多维分析界面中把分析结果定义出来后,可以直接形成一个实时监控大屏,不需要重新开放,多站完成各类需求。

    最后一个也是最重要的一个特性,是支持二次的开发。数果的平台提供普通类查询,有 Timeseries、TopN、select、groupby、firstN、scanQuery。也提供像用户分组,用户漏斗查询,用户留存查询这类高级查询,还支持多种条件的过滤,像日期范围、数值范围、地理坐标范围,还有字符串的精准匹配。还支持多种聚合的方式。如统计,分组,还有聚合再聚合,这类业务场景,也是在业务需求中经常出现的。

    基于平台我们做了什么?

    基于这个平台实现了指标任意定制,因为数据是基于原始明细记录存储的,所以指标的定制这方面,不需要提前预计算,直接通过界面,通过一些表达式便可以轻松实现。

    维度的自由的筛选,可以通过界面,自由地拖拽数据,就可以完成交叉分析。

    基于平台提供用户行为分析模型,例如实时的用户分群,可以通过界面快速的完成。再例如实时的路径分析,实时的流程分析,实时的漏斗分析。提供了一个智能算法模型,相当于在这个模块实现了,将机械学习跟深度学习的算法吸收进来,跟我们的平台打通,就可以实现通过界面的简单拖拽,来完成大部分算法的模型。用户也有一些固化的模型,像用户的扩群,用户 RFM 细分的模型,用户流失预测的模型。基于这方面也提供了一个实时大屏的模块,能够由用户自由拖拽完成其实时监控的需求。

  • ?

    怎样搭建一个大数据分析平台?内附资料福利

    轻伤

    展开

    一般的大数据平台从平台搭建到数据分析大概包括以下几个步骤:

    1、Linux系统安装

    一般使用开源版的Redhat系统--CentOS作为底层平台。为了提供稳定的硬件基础,在给硬盘做RAID和挂载数据存储节点的时,需要按情况配置。比如,可以选择给HDFS的namenode做RAID2以提高其稳定性,将数据存储与操作系统分别放置在不同硬盘上,以确保操作系统的正常运行。

    2、分布式计算平台/组件安装

    当前分布式系统的大多使用的是Hadoop系列开源系统。Hadoop的核心是HDFS,一个分布式的文件系统。在其基础上常用的组件有Yarn、Zookeeper、Hive、Hbase、Sqoop、Impala、ElasticSearch、Spark等。

    使用开源组件的优点:1)使用者众多,很多bug可以在网上找的答案(这往往是开发中最耗时的地方);2)开源组件一般免费,学习和维护相对方便;3)开源组件一般会持续更新;4)因为代码开源,如果出现bug可自由对源码作修改维护。

    常用的分布式数据数据仓库有Hive、Hbase。Hive可以用SQL查询,Hbase可以快速读取行。外部数据库导入导出需要用到Sqoop。Sqoop将数据从Oracle、MySQL等传统数据库导入Hive或Hbase。Zookeeper是提供数据同步服务, Impala是对hive的一个补充,可以实现高效的SQL查询

    3、数据导入

    前面提到,数据导入的工具是Sqoop。它可以将数据从文件或者传统数据库导入到分布式平台。

    4、数据分析

    数据分析一般包括两个阶段:数据预处理和数据建模分析。

    数据预处理是为后面的建模分析做准备,主要工作时从海量数据中提取可用特征,建立大宽表。这个过程可能会用到Hive SQL,Spark QL和Impala。

    数据建模分析是针对预处理提取的特征/数据建模,得到想要的结果。如前面所提到的,这一块最好用的是Spark。常用的机器学习算法,如朴素贝叶斯、逻辑回归、决策树、神经网络、TFIDF、协同过滤等,都已经在ML lib里面,调用比较方便。

    5、结果可视化及输出API

    可视化一般式对结果或部分原始数据做展示。一般有两种情况,行数据展示,和列查找展示。

    以上就简单介绍这么多,如果有小伙伴想了解和学习更多的大数据技术,可以私信小编索要资料

海量数据分析平台

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP