本文是大数据杂谈 8 月 9 日社群公开课内容整理。现在大数据已经成为企业信息化热点方向之一,很多企业都已经开始或者准备利用大数据大干一场,降低成本、提升数据价值,从而实现智能决策,但是从以 Hadoop 为代表的大数据技术面世以来,将近 10 年的时间,除了几家大型互联网公司以外,企业能够用好大数据的案例远远没有期望的那么多。据国外一家咨询公司 2015 年统计,只有 27% 的公司认为他们的大数据计划是成功的,而只有 8% 的认为是非常成功的。即便是在 POC 阶段,很多企业的平均成功率才只有 38%。
笔者从 2014 年专注于大数据技术和相关解决方案,和很多客户沟通过,包括位列世界 500 强的大型企业,发现多数企业没有实施大数据,或者实施大数据没有成功的主要原因有两点:一个是看不清大数据的回报而犹豫不前,一个是依旧以传统数据仓库的观念来实施大数据项目,因为难以看清价值而半途而废。本文重点讨论的是第二种情况。
上图是一个数据仓库建设的典型步骤,其中前两个阶段是极其重要的,往往花费大量的时间。因为通过需求分析,了解业务人员想要哪些报表和分析,才能通过模型设计确定如何建立表结构、构建事实表和维度表、建立星形结构,实现对数据立方体的切片、切块、旋转、上卷和下钻,从而支持报表的丰富展现。所以对于传统数据仓库来说,模型很重要,有没有现成的行业模型往往成为选择解决方案和产品的关键。
按照这个实施步骤构建传统的数据仓库也是面临很多挑战:
一是前期需求收集和确立时间过长;二是如果要用新的维度分析或者产生了新的需求,需要由 IT 人员重新建模,不仅耗费时间,而且增加了 IT 人员的负担;三是做成的报表是相对静态的,除非更改模型,否则不能灵活地查看其它结果。
大数据分析情况下,由于引入了更多类型的数据,包括很多新型的数据,传统的数据仓库的模型大多不再适用于更广泛的大数据分析,而企业中的业务人员对于大数据分析往往也不知道向哪个方向进行,无法提出像传统数据仓库 KPI 那样清晰的展现需求。
所以很多企业部署了 Hadoop 集群,收集了企业内部的数据,希望基于 Hive 表取代传统的关系型数据库来构建数据仓库,但是由于需求不明,基于 Hadoop 构建数据立方体和进行数据查询又远远比关系型数据库复杂,最后 Hadoop 平台往往只是进行数据加工和处理,还需要把数据导回关系型数据库,通过 BI 工作来进行可视化展现,Hadoop 集群更像是一个分布式的海量存储和数据初步加工工具。
在这种情况下,敏捷性 BI 产品横空出世,近年越来越成为企业优先考虑选择的 BI 工具,敏捷性 BI 和传统 BI 工具相比,其主要特点如下:
如下是敏捷性 BI 工具的一些特性说明示例:
如下是敏捷性 BI 工具的一些界面展示示例:
可以看到最左侧是数据库表结构或者是半结构化文本内容,通过拖曳即可以实现各种图表,例如地图和按照小时显示数量,针对右图可以计算趋势轨迹,对未来进行预测等,上方显示的是对年龄过滤,数据显示的是年龄在 30 到 34 岁之间,通过点击左图 0 点数量,右图也会选取相应的点,可以看到大多集中在哪些区域。
这种可视化工具图形定义简单,显示直观,经过培训确实能让业务人员也可以基于各种数据来进行可视化展现,从而实现大数据分析。
但是目前的敏捷性 BI 工具也有一些不足,主要表现在:
为了弥补敏捷性 BI 工具的不足,同时能够为大数据分析人员提供数据相关性洞察的平台,出现了大数据探索工具,整合了敏捷性 BI 工具灵活和丰富的可视化功能、搜索引擎、数据转换和分布式计算能力。大数据探索平台和 BI 工具的定位略有不同,如下图所示:
可以看到,大数据探索工具更多关注在利用人的经验,通过人员的参与,对新的问题,结合调查、浏览、理解,从而给出数据的相关性和分析方向。大数据探索工具能够处理结构化数据,但是更多关注在非结构化数据和结构化数据的结合。通过大数据探索工具和人的交互性洞察,能够将人员头脑中模糊的经验结合数据可视化来明确和具体。
如下是一个大数据探索工具的架构和功能说明:大数据探索工具应该可以直接对接 Hadoop 集群,浏览 Hadoop 集群中的数据集,用户也可以上载文件,利用 Spark 技术对数据进行处理和加工,不同的数据集组成独立的分析项目,项目中的数据变化不影响原始数据,在项目中用户可以浏览数据,关联不同的数据集成为一个整体数据,对数据进行转换,并且提供白名单关键字抽取和地理位置抽取等丰富手段。
大数据探索工具和敏捷性 BI 工具一样,提供丰富的图表,通过拖曳即可实现数据的可视化,同时提供地图的展示和多图层浏览,例如可以看到不同年龄的人员数量分布云,同时可以看到其中的关键地点,提供非结构化文本的全文检索,支持根据不同字段进行任意下钻和上卷。
大数据探索工具应该提供全局的扩展功能,支持通过开发扩展图形化展示界面和功能界面,同时提供安全和管理功能。支持分布式部署和扩展处理能力。
利用大数据探索工具,企业分析人员和业务人员能够充分利用 Hadoop 集群中的数据,或者将数据收集到 Hadoop 平台中,建立大数据实验项目,通过简单数据转换,即可快速实现数据的可视化,结合地图、关键字检索、全文搜索,从多个角度对数据进行过滤和筛查,灵活地下钻和上卷,探查数据的相关性,从而发现大数据分析的方向。
下面我们看一个例子,如何通过大数据探索工具对小说《人民的名义》的内容进行探查。
1、将《人民的名义》小说内容文本导入到大数据探索工具中,可以针对角色姓名进行白名单标记,即根据名单在各个段落中标识角色名称是否出现,结果就像给客户打标签一样,是一个多值域。
2、小说内容关键字是从外部工具中抽取,抽取后根据段落生成关键字的多值域的数据集,导入到大数据探索工具中,根据段落标识,将关键字列表和小说内容进行了连接,这样关键字多值域和角色姓名多值域可以进行联合过滤了。
3、在大数据探索工具中通过拖曳生成图表,包括关注的段落数量,文字数量等指标,关键字和角色姓名的词云,一些展示数据关联性的图形等。可以看到在人物词云中,主人公“侯亮平”最显著,在关键字词云中,“老师”最显著。
4、下面就可以通过大数据探索工具的灵活下钻和上卷,结合过滤和搜索,对人物画像、人物关系以及最后结局进行探查。
5、点击主人公“侯亮平”和关键字“老师”能够看到与侯亮平在“老师”方面有相关性的人物,可以看到祁同伟和高育良特别明显,这点笔者还是知道的,高育良是侯亮平和祁同伟的老师,与此同时左边关键字“学生”也比较突出。
6、点击“学生”进行过滤,看同样具有学生身份的人物,另外一个学生陈海也变得明显起来。
7、我们点击“陈海”,清除其他关键字的条件,则可以从突出的关键字看到侯亮平和陈海的关系和一起的经历。除了老师以外,他们都任职反贪局,涉及到举报、电话、证据,也和北京有一定的联系。
8、看完“侯亮平”,我们看看达康书记,点击“李达康”过滤,可以看到对他的画像,比较明显的就是“书记”字样,其他关键字稍微明显的都是和工作有关的,右边显示了与其相关的一些人物。
9、换个图形观察,我们可以从关键字和人物的集中比对来看在各种关键字情况下,这些人物与达康书记的关系如何,可以看到,比较明显的是,在“离婚”关键字下,“欧阳菁”相关性最明显,点击该部分过滤,则可以看出欧阳菁和达康书记的关系。
10、“李达康”和“欧阳菁”的关系
11、除去所有条件以后,笔者对关键字里面的“山水”产生了兴趣,那时候笔者还不知道山水集团的实力,还以为是文人墨客的玩意,随手一点,对“山水”进行下钻,另外一个不平凡的女人出现了—“高小琴”
12、点击“高小琴”下钻,有几个姓名比较突出,其中一个就是祁同伟,点击“祁同伟”,则可以查看高小琴和祁同伟的关系。
13、选择高小琴和祁同伟,除去“老师”可能会造成的影响,则可以看出来二人之间微妙的关系,同时另外一个人“赵瑞龙”也隐隐出现了。
14、对回数进行过滤,范围定义到“>45”回,则可以从关键字上猜测出后面“祁同伟”和“高小琴”有关的一些剧情发展,另外“赵瑞龙”和二人也具有一定的相关性。
15、看看“赵瑞龙”有关的关键字和人物关系,“儿子、公司、省委书记、山水集团、美食”,背后的故事应该是很多。
总结: 以上介绍了大数据探索工具快速对小说内容进行探查的过程,可以看到,企业也可以采取类似的方式,逐步将不同数据集通过大数据探索工具连接起来,建立一个全面的数据视图,对企业内部和外部数据进行灵活的探索,洞察这些数据的相关性,确立大数据分析的方向,快速获取大数据分析的价值。
Q1:老师你好,大数据探索工具有没有推荐的?
刘群策: 大数据探索工具推荐:我来自于甲骨文公司,当然大数据探索工具推荐甲骨文的 Big Data Discovery,大家看到的小说分析就是基于这个工具做的,整个从数据导入到分析过程也就二三十分钟吧,主要是要不断尝试分析的路径和关系。
Q2: 你刚说到数据仓库建立过程最重要是数据需求和指标定义,但这需要跨部门沟通,而业务部门或产品人员可能还没有数据思维或意识,这个沟通下来经常他们也不知道说什么!我想请问遇到这种开始建立公司级别数据的时候,如何做好这两部分,数据需求和指标定义?
刘群策: 对于业务部门没有明确目标的问题,最好的方式是对数据快速集成,简单清晰,轻建模,利用工具快速可视化,让业务部门人员见到效果,这样他们才会提出方向和想看什么,甚至可以一起通过当场拖曳就形成新的图表来解答他们的一些问题,这样就可以逐步把需求明晰化,把指标具体化。
Q3:非常感谢老师介绍这样一个例子,我想了解一下这里面设计到的切词和关键词之间是否有关系的界定思路,能稍微介绍一下吗?
刘群策: 这个例子里面的文本切词以后,还需要通过白名单过滤一下,这个白名单如果在实际使用中可以是行业关键字,也可以是关注的关键字,这些关键字列表都需要一定的积累,这样才会显示有意义的关键字,否则大家看到的关键字里面就会有很多噪音。
Q4:是这样的,我们在数据抽取的时候发现业务数据的质量很差,以至于分析的时候受到影响,分析的指标不准确,老师在建模的时候对数据质量问题有没有好的方法呢?
刘群策: 数据质量的解决不仅仅靠技术,还需要人员和流程,包括定义规章制度从源头上就要提升数据输入的质量,这是一个比较复杂的过程,需要逐步去做,不要想着有银弹一下就可以解决,当然有好的工具可以帮助发现重复数据,或者数据格式不匹配等等。
Q5:1. 现实在做数据分析的时候会因为统计口径不同而导致同样的指标跑出不同的数值,例如:小额贷款有续借功能,想看每日回款金额,可以不考虑续借,也可以把续借当做一次还款再重新借款,利用大数据工具可以满足这样的需求吗?2. 维度或指标之间是互相影响的,在分析若干维度或指标时,大数据工具能帮忙确定指标相关性么?或者您认为是否有必要考虑相关性呢?
刘群策: 很多大数据探索工具和敏捷性 BI 工具里面就有自动发现数据相关性的功能,例如选择某一项,可以自动按照相关性把其他项一次排列出来,但是如果想要精确发现相关性,则需要通过数据挖掘深入去做。
Q6:清洗后,明细太多,如何处理?
刘群策: 对于明细太多这个问题,需要工具能够提供一定的自动聚合功能,自动匹配发现一些相似的记录,并且合并,这样分析人员可以关注需要的点,然后需要的时候再下钻去浏览细节。如果清洗后数据明细很大,不建议放在 mysql 中,mysql 不是分布式架构,除非分库,建议还是放在分布式架构中。如果考虑要支持灵活的查询,可以考虑将自动聚合的结果等放在 mysql 中,这样允许用户查询和访问结果,如果要看详细的数据,再下钻访问明细数据。
如果对 Oracle 大数据技术感兴趣,欢迎加入 Oracle 大数据技术交流群。
作者介绍
刘群策 ,云计算和大数据资深架构师 甲骨文 (中国) 云平台事业部
• 近二十年的 IT 行业经验,包括软件开发,系统分析,项目管理和咨询 服务,先后任职于 BEA 中国,中国惠普,EMC 研发中心和 Oracle。
• 从 2009 年开始涉足云计算和大数据领域,在大数据和云计算方面有着 丰富的知识和经验,包括整体规划和架构设计,项目咨询,解决方案和 技术推广,合作和支持等。
• 熟悉 IT 系统总体架构设计、系统开发、系统集成的管理方法论。精通 Java EE 企业级应用,SOA,BPM 和门户等设计和开发,数据库设计和开 发,应用质量管理和项目管理。著有《LoadRunner 和软件项目测试》一 书。
• 熟悉制造,航空,金融,公安和医疗等政府行业。
• 拥有云计算、TOGAF、ITIL、CobiT 认证和多项产品技术认证。
今日荐文
点击下方图片即可阅读
免费系列公开课:知识图谱和自然语言处理如何落地企业实践