中企动力 > 商学院 > 大数据分析表
  • ?

    大数据分析:最难的不是分析,而是大数据

    Mark

    展开

    从先进的BI工具到机器学习,人工智能,现代企业拥有着各式各样整理分析数据的方法和途径。数据科学家和企业领导人都关注着这些新技术的巨大潜力,然而,当我们将焦点放在分析工具身上时,我们也可能忽略了数据本身的重要性。毕竟如果没有正确的数据,视觉化和预测分析也没有任何用处。

    每一个企业需要将他们的基础数据进行分析和甄别,在此基础上,对数据进行不同层次和结构的分类。原因如下:

    数据深度融入在商业的各个环节

    现代企业逐渐意识到,纷繁复杂的数据固然重要,而这些数据是否真的被企业职工运用,并对其工作产生了相关性的影响,才是企业领导所看重的。不同的层级岗位和职位角色都需要做出正确的决策,而良好的决策必须是基于用户数据所提出的。因此,不仅仅是数据科学团队,从产品部门到客户服务部门,再到销售等各个部门都应该获得这些数据资源和信息。

    在现代企业中,对数据的处理还仅仅是在每个月的全体会议上查看各项指标还远远不够。组织必须要将数据驱动纳入到决策制定中。以现代营销团队为例。营销人员有大量的丰富的数据可供他们自由支配,尤其是在智能手机,平板电脑,社交媒体平台爆炸式普及的今天,这样,一个品牌可以远距离地与观众互动,并了解顾客的相关信息。如果所有的这些数据被收集到一个中心位置,进行数据分析,那么对客户的长期行为分析并进行消费预判则成为了可能。同样地,根据这样的方法,其他部门,如销售、产品和客户服务部门也能获得前所未有的数据量。

    零碎数据共同形成宏观趋势判断

    如今,数据在各个行业和企业扮演着越来越重要的角色,企业应该将数据视为机会。每个数据集——CRM、CMS、ERP、营销软件,都包含大量信息和基础数据。现在或许看起来很微小,可是对数据深入的挖掘和分析将会给企业带来巨大的财富。而在现实生活当中,由于不可能预先知道哪些数据很重要,所以企业需要收集尽可能多的数据,这样即使市场环境发生大的改变,企业也能够做出合理的预判和尽可能贴近市场的决策。

    基础数据和数据分析同样重要

    数据质量是重中之重,倾斜的数据会导致错误的结果。如果你的判断来源于不完整的数据基础,你的决策便会产生一定的偏差甚至产生错误,而这最终将会侵蚀在数据驱动文化背景下人们对数据分析的信心。因此,简洁、完整和正确的数据是有效决策产生的必要前提。

    2016年美国总统大选的预测分析,很好地证明了数据质量的重要性。在当时的预测中,大多数数据是基于州级和国家级的电话投票进行的。但是电话调查中很容易出现无人接听的现象,而各州无人接听的占比率也存在着很大的区别,这会很大程度上影响选举团的预测(选举团制度是美国特有的一种选举方式, 选民在大选日投票时,不仅要在总统候选人当中选择,而且要选出代表50个州和华盛顿特区的538名选举人,以组成选举团。当选的选举人必须宣誓在选举团投票时把票投给在该州获胜的候选人。美国总统由选举团选举产生,并非由选民直接选举产生,获得半数以上选举人票者当选总统),结果就是,倾斜的数据产生错误的预测。

    如今,机器学习已经受到了大量的炒作。而机器依据大数据分析出来的预判,是否真的能符合事实情况,很大程度上决定于是否拥有坚实的数据基础:一个将数据驱动纳入到组织文化的企业,采集到的简介、完整和正确的数据。”数据驱动”一词已存在多年,但在今天快节奏和迅猛发展的数字经济中,它将成为当代企业的文化使命。

  • ?

    五个大数据分析成功案例分享

    强壮的

    展开

    首席信息官正在利用数据分析来提高效率和促进增长,但并不是每一次努力都会产生结果。以下讲述了优秀的首席信息官是如何成功地利用数据分析和机器学习技术来增加收益或降低成本的。

    如果把数据比作新的石油,那么掌握如何将其提炼为可使用的情报就是发挥其潜力的关键。为此,首席信息官正在使用预测分析工具,设计机器学习算法和对其他解决方案进行测试,以追求企业的效率和以新的方式为客户服务。

    胡椒博士集团(Dr.PepperSnappleGroup)将机器学习技术用于语境相关性工作中

    多年来,胡椒博士集团的销售路线员工一直是抓着一本厚厚的活页夹,里面装满了客户数据、销售和促销说明,然后去吸引一些零售客户,如沃尔玛和塔吉特百货公司(Target)等。今天,销售人员不再使用这种活页夹,而是配备了能告诉他们需要拜访哪家商店的iPad,而且还会告诉销售人员该为这些零售商提供何种优惠,以及其他关键指标。胡椒博士集团的首席信息官汤姆·法拉(TomFarrah)表示:“他们都是接订单的销售人员,为此他们感到很骄傲。现在他们配备了信息资料来帮助其实现目标,使他们成为智能的销售人员。”

    该MyDPS平台配有机器学习和其他分析工具,可在工作人员加载应用程序时向其提供建议和日常操作记分卡。这些算法向员工显示他们是如何按照预期计划进行工作的,包括他们是否按照自己的计划工作,或是落后于计划,以及给他们提供见解,让他们清楚如何纠正他们的工作。法拉说:“如果我要让某人获得成功,我必须确保他们拥有哪些信息是与工作内容相关的。”

    经验教训:为了测试验证MyDPS平台的概念,法拉将该软件分给了一个分公司的四个人,并让业务总裁去拜访他们。他们透露,自从上个月使用MyDPS之后,执行销售额已经提高了50%,这一表现让他批准了该项目。法拉说:“他获得了结果,这就是销售所需要的,这不仅仅是为了项目的商业赞助,而且这也是他们希望得到的结果,这一点非常重要。”

    凭借机器学习技术,RRD公司走上新业务之路

    营销传播公司R.H.Donnelley公司为RRD公司的前身,几年前,RRD公司设立了物流部门,向消费者和企业配送它的印刷材料。为了支持这项业务,公司自己管理运营,并代表其合作伙伴配送各种物品,包括洗衣机、狗粮等等,最终成长为价值10亿美元的一个企业。这是一个挑战吗?在联邦快递和UPS成为无可争议的霸主的天下,找到一个最优的运费。

    诸如天气、地域、司机和政治局面等因素都是业务上的成本。RRD公司的首席信息官肯奥布莱恩(KenO'Brien)表示,随着迫切需要对费率变量进行预测,RRD公司转向了机器学习和数据分析。公司聘请员工和与大学合作来帮助编写算法,在700条路线上测试数千个场景,直到能够以99%的准确率提前7天实时预计运费。奥布莱恩说:“该项目在不到一年的时间就完成了,我们现在仍然看到业务的增长与运费有关。”该公司预计,在2017年,其卡车货运代理业务将从400万美元增长到1600万美元,营收将增长1200万美元,业务规模达6亿美元。

    经验教训:新企业需要高水平的全心投入,尽管奥布莱恩承认,他的一些业务同行已准备好在业务的不同环节上认输。该业务并不相信那些通常以感觉和猜测来完成一个流程的技术。RRD公司建立了一个协作环境,业务和IT共同合作来推进结果。“你会遇到困难,你会遇到挑战,但要耐心,”奥布莱恩说。

    孟山都公司(Monsanto)利用机器学习技术,实现最佳种植计划

    农民永远为要种植何种作物,种植面积,在哪里种植及何时种植而苦恼。种子行业巨人孟山都公司正在研究这项工作,利用数据科学为农业种植提供规范性建议。数学和统计学模型会绘制出雄性作物和雌性作物的最佳种植时间,以及在何处种植,在理想状态下,这就最大限度地提高产量并减少土地使用。孟山都公司全球IT分析主管艾德里安·卡地亚(AdrianCartier)表示,其机器学习算法在数天内完成了超过900亿的数据点,而不是几周或几个月。这是商业利益吗?在2016年,孟山都公司节省了600万美元,其供应链足迹减少了4%。卡地亚说:“北美地区的土地利用率下降了4%,相当于不去使用大面积的土地,这节省了大量资金。”

    经验教训:孟山都公司成功的关键是在信息技术与供应链业务之间建立了一个“自始至终”的合作。卡地亚说:“他们具有农业和供应链角度的专业知识,而我们具有数学和统计领域的专业知识,两者结合起来,就创造了我们能够提供的价值。”卡地亚说道,他还寻求在供应链业务中“改变领导者和倡导者”,以形成对反对者一种健康的平衡。

    柏克德公司(Bechtel)以卓越的大数据中心来颠覆自己

    一个鲜为人知的事实:柏克德公司首席信息官CarolZierhoffer说,与建筑有关的支出占GDP的13%,但整个行业在过去二十年中只有1%的生产率增长。专家表示,通过重新制定合同、提高工人技能以及改进现场执行工作等方式,该行业可以提高50%至60%的生产率。柏克德公司建造了胡佛水坝、英吉利海峡隧道和其他大型设施,已经开始在业务各个环节的数据中挖掘洞察力。

    Zierhoffer在沃尔玛、波音和洛克希德马丁公司会见了业内同行,以获得有关如何向前发展的见解。柏克德公司建立了一个先进的大型数据中心,其中包含5千万亿字节数据的数据湖,并开始了概念验证。该数据中心使用照片识别技术,并代表客户来检查和标记各个地点的照片,这节省了200万美元。自然语言处理(NLP)工具可解析索赔、提案请求(RFP)和合同。过去需要几天和几周的评估和计划工作现在只需要数小时。柏克德公司还扩大了分析工作范围,以了解员工的流失率情况,包括试图预测员工将何时离职。Zierhoffer说:“我们相信我们正在敲开解决生产率难题的大门。”

    经验教训:数据仓库和质量是支柱。尽管柏克德公司可以分析大量的数据,但在整个业务各环节的数据质量必须提高。“我们不得不颠覆自己,了解我们是如何工作的,并且将数据仓库进行连接。”

    数据分析帮助辛辛那提动物园提高客户满意度

    辛辛那提动植物园成立于1873年,是世界上著名的动植物园之一,以其物种保护和保存以及高成活率繁殖饲养计划享有极高声誉。它占地面积71英亩,园内有500种动物和3000多种植物,是国内游客人数最多的动植物园之一,曾荣获Zagat十佳动物园,并被《父母》(Parent)杂志评为最受儿童喜欢的动物园,每年接待游客130多万人。

    辛辛那提动植物园是一个非营利性组织,是俄亥州同时也是美国国内享受公共补贴最低的动植物园,除去政府补贴,2600万美元年度预算中,自筹资金部分达到三分之二以上。为此,需要不断地寻求增加收入。而要做到这一点,最好办法是为工作人员和游客提供更好的服务,提高游览率。从而实现动植物园与客户和纳税人的双赢。

    借助于该方案强大的收集和处理能力、互联能力、分析能力以及随之带来的洞察力,在部署后,企业实现了以下各方面的受益:

    -帮助动植物园了解每个客户浏览、使用和消费模式,根据时间和地理分布情况采取相应的措施改善游客体验,同时实现营业收入最大化。

  • ?

    大数据分析:比你自己更加了解你自己

    韶华

    展开

    如果大数据能够如此诡异地了解到我个性的方方面面,我只想问:为什么Facebook一直想让我花80元买双拖鞋?

    如果大数据能够如此诡异地了解到我个性的方方面面,我只想问:为什么Facebook一直想让我花80元买双拖鞋?

    我上Facebook或Instagram时几乎总会看到一则标价过高的帆布便鞋广告。我怀疑自己迄今从没买过超过25元的拖鞋,我也不太可能在马莎百货(Marks and Spencer)以外的地方买这类东西。我从来没在网上搜索过拖鞋二字,也想不出我上网时哪些举动会暗示出我喜欢“新潮”的拖鞋。(实际上,这款拖鞋有种难看的可拆户外鞋底,所以人们多半会说我是个穿拖鞋出门溜达的“中年大叔”,而不会说我“新潮”,如果我买了它的话。)

    对那些数据科学天才们来说,公平地讲,Facebook并不总是给我推销天价拖鞋。有时它也向我推销天价耳塞,或购买一款正念app的机会。照说,我们应该相信,建立在数据抓取和机器学习基础上的复杂算法现在比我们最亲密的朋友还了解我们。然而,在我们公司,不用15分钟你就能了解,我这个人不太可能花80元去买拖鞋,也不会破费购买什么正念app。

    这些广告还会根据浏览历史来投放。我明白为什么我在浏览过某个城市的旅游景点后会看到爱彼迎(Airbnb)的招租广告。在一个数据被认为无所不知的时代,令我困惑的是,为什么我在订完房后还能看到广告。总是如此。有谁没在网购后的六周接连不断地收到同一个商品的广告推送?去年,我们买了台电子琴送给儿子当生日礼物。几个月后,我仍会收到相同型号产品的广告。要么是数据分析师们不知道我们已经下了单,要么是他们认为我们是电音组合“宠物店男孩(Pet Shop Boys)”,一台电子琴不够使。

    在我看来,这些广告不像是来自别有用心的数据天才,它们更像出自一位上了年纪的大爷之手,他记得你小时候爱吃夹心饼干,所以即使你都过完45岁生日了,他还在给你买。

    很明显,还有更多原因。如果不值当的话,像Facebook和谷歌(Google)这种企业才不会做这么麻烦的事。我们必须假设,密集的数据挖掘会带来更有针对性的广告,从而为客户提供更优质的筛选结果,也会给平台带来更高的回报。

    我只想提一个忠告。不管这些公司掌握了我多少数据,在有针对性地推送消息上,他们显然还得再接再厉。我每天大部分时间都耗在网上,访问那些被Facebook搜索的网站,并通过Chrome浏览器将我的一举一动反馈给谷歌。我大致的生活状况不难了解,然而,它们还在给我推送金拖鞋。我想这意味着Facebook将我界定为国际精英阶层,但更有可能的是,我被归入了“钱多人傻”一族。

    定向广告的价值显而易见。给巴黎某个对麸质过敏的人推销一家伦敦的面包店毫无意义,但夸大算法的能力却符合每个人的利益。

    一种合理的解释也许是,这些平台尚未将它们掌握的有关我的海量数据整合为有用的行动。目前,它们仅需胜过其它媒介,如报纸和电视。虽然它们可能还没有很好地将自身掌握的大量数据投入使用,但有理由相信它们会越来越擅长利用这些资源。这也许就是为什么如今监管机构应该认真考虑限制数据采集的规模。

    还有另一种解释。也许它们非常了解我,以至于还没等我自己意识到,它们就知道我需要这些华而不实的高价货。它们知道,私下里我就是那种把脚套进80英镑的居家鞋的人。也许大数据革命就像许多人宣称的那样高深莫测,而且比我本人更了解我自己。或许我只需要屈服,它让我买啥我就买啥。噢,金拖鞋;噢,金拖鞋。

  • ?

    基于大数据平台的数据分析

    红鞋子

    展开

    标签 | 大数据 架构

    作者 | 张逸

    无论是采集数据,还是存储数据,都不是大数据平台的最终目标。失去数据处理环节,即使珍贵如金矿一般的数据也不过是一堆废铁而已。数据处理是大数据产业的核心路径,然后再加上最后一公里的数据可视化,整个链条就算彻底走通了。

    数据处理的分类

    如下图所示,我们可以从业务、技术与编程模型三个不同的视角对数据处理进行归类:

    业务角度的分类与具体的业务场景有关,但最终会制约技术的选型,尤其是数据存储的选型。例如,针对查询检索中的全文本搜索,ElasticSearch会是最佳的选择,而针对统计分析,则因为统计分析涉及到的运算,可能都是针对一列数据,例如针对销量进行求和运算,就是针对销量这一整列的数据,此时,选择列式存储结构可能更加适宜。

    在技术角度的分类中,严格地讲,SQL方式并不能分为单独的一类,它其实可以看做是对API的封装,通过SQL这种DSL来包装具体的处理技术,从而降低数据处理脚本的迁移成本。毕竟,多数企业内部的数据处理系统,在进入大数据时代之前,大多以SQL形式来访问存储的数据。大体上,SQL是针对MapReduce的包装,例如Hive、Impala或者Spark SQL。

    Streaming流处理可以实时地接收由上游源源不断传来的数据,然后以某个细小的时间窗口为单位对这个过程中的数据进行处理。消费的上游数据可以是通过网络传递过来的字节流、从HDFS读取的数据流,又或者是消息队列传来的消息流。通常,它对应的就是编程模型中的实时编程模型。

    机器学习与深度学习都属于深度分析的范畴。随着Google的AlphaGo以及TensorFlow框架的开源,深度学习变成了一门显学。我了解不多,这里就不露怯了。

    机器学习与常见的数据分析稍有不同,通常需要多个阶段经历多次迭代才能得到满意的结果。下图是深度分析的架构图:

    针对存储的数据,需要采集数据样本并进行特征提取,然后对样本数据进行训练,并得到数据模型。倘若该模型经过测试是满足需求的,则可以运用到数据分析场景中,否则需要调整算法与模型,再进行下一次的迭代。

    编程模型中的离线编程模型以Hadoop的MapReduce为代表,内存编程模型则以Spark为代表,实时编程模型则主要指的是流处理,当然也可能采用Lambda架构,在Batch Layer(即离线编程模型)与Speed Layer(实时编程模型)之间建立Serving Layer,利用空闲时间与空闲资源,又或者在写入数据的同时,对离线编程模型要处理的大数据进行预先计算(聚合),从而形成一种融合的视图存储在数据库中(如HBase),以便于快速查询或计算。

    场景驱动数据处理

    不同的业务场景(业务场景可能出现混合)需要的数据处理技术不尽相同,因而在一个大数据系统下可能需要多种技术(编程模型)的混合。

    场景1:某厂商的舆情分析

    某厂商在实施舆情分析时,根据基于需求,与数据处理有关的部分就包括:语义分析、全文本搜索与统计分析。通过网络爬虫抓取过来的数据会写入到Kafka,而消费端则通过Spark Streaming对数据进行去重去噪,之后交给SAS的ECC服务器进行文本的语义分析。分析后的数据会同时写入到HDFS(Parquet格式的文本)和ElasticSearch。同时,为了避免因为去重去噪算法的误差而导致部分有用数据被“误杀”,在MongoDB中还保存了一份全量数据。如下图所示:

    场景2:Airbnb的大数据平台

    Airbnb的大数据平台也根据业务场景提供了多种处理方式,整个平台的架构如下图所示:

    Panoramix(现更名为Caravel)为Airbnb提供数据探查功能,并对结果进行可视化,Airpal则是基于Web的查询执行工具,它们的底层都是通过Presto对HDFS执行数据查询。Spark集群则为Airbnb的工程师与数据科学家提供机器学习与流处理的平台。

    大数据平台的整体结构

    行文至此,整个大数据平台系列的讲解就快结束了。最后,我结合数据源、数据采集、数据存储与数据处理这四个环节给出了一个整体结构图,如下图所示:

    这幅图以查询检索场景、OLAP场景、统计分析场景与深度分析场景作为核心的四个场景,并以不同颜色标识不同的编程模型。从左到右,经历数据源、数据采集、数据存储和数据处理四个相对完整的阶段,可供大数据平台的整体参考。

  • ?

    据说这是史上最全的大数据分析工具

    留不祝

    展开

    给大家推荐的一些用于数据分析的“必备神器”

    数据可视化工具:

    百度ECharts:http://echarts.baidu/

    Cytoscape:http://cytoscape.org/

    图表秀:http://tubiaoxiu/

    数据观:http://shujuguan/

    微博足迹可视化:http://vis.pku.edu/weibova/weibogeo_footprint/index.html

    BDP个人版:https://me.bdp/home.html

    ICHarts:http://icharts.in/

    魔镜:http://moojnn/

    词频分析工具:

    Rost:http://cncrk/downinfo/54638.html

    图悦:http://picdata/

    语义分析系统:http://ictclas.nlpir.org/nlpir/

    Tagul:https://tagul/

    腾讯文智:http://nlp.qq/semantic.cgi

    Tagxedo词云:http://tagxedo/

    舆情分析工具:

    清博舆情系统:http://yuqing.gsdata/

    云相:http://weidata/

    PPT模板工具:

    我图网:http://so.ooopic/

    51PPT模板:http://51pptmoban/ppt/

    无忧PPT:http://51ppt/

    第1PPT:http://1ppt/

    站长之家:http://sc.chinaz/ppt/

    设计师网址导航:http://userinterface/

    互联网趋势分析工具:

    微博指数:http://data.weibo/index

    百度指数:http://index.baidu/

    好搜指数:http://index.so/#index

    搜狗指数:http://zhishu.sogou/

    百度预测:http://trends.baidu/

    在线调查工具:

    腾讯问卷调查:http://wj.qq/

    麦客:http://mikecrm/

    ICTR:http://cn2.ictr/

    问道网:http://askform/

    问卷星:http://sojump/

    调查派:http://diaochapai/

    问卷网:http://wenjuan/

    SurveyMonkey:https://zh.surveymonkey/

    网站分析监测工具:

    H5传播分析工具:http://chuanbo.datastory/

    百度统计:http://tongji.baidu/web/welcome/login

    腾讯云分析:http://mta.qq/

    51.la:http://51.la/

    社交媒体监测工具:

    孔明社会化媒体管理:http://kmsocial/

    企业微博管理中心:http://e.weibo/

    知乎用户深度分析:http://kanzhihu/useranalysis

    其他数据网站:

    数据分析网:http://afenxi

    媒体微博排行榜:http://v6.bang.weibo/xmt

    友盟:http://umeng/

    中国新闻地图:http://vis.360/open/cnnews/

    中国票房榜:http://cbooo/

    收视率排行:http://tvtv.hk/archives/category/tv

    农业大数据云平台:http://dataagri/agriculture/gis.action

    房价指数:http://industry.fang/data/datacenter.aspx

    中国统计局:http://data.stats.gov/

    中国主要城市拥堵排名:http://report.amap/traffic/

    中国综合社会调查:http://chinagss.org/

    中国P2P网贷指数:http://p2p001/wdzs/wdzs_p2pline.html

    Alexa:http://alexa/

    易车汽车指数:http://index.bitauto/

    旅游预测:http://trends.baidu/tour/

    以上就是给大家推荐的一些用于数据分析的“必备神器”,其中很多工具是亲测过认为非常强大的,希望大家能从中找到对自己有帮助的工具。

  • ?

    什么叫大数据分析

    鲍伯

    展开

    大数据行业发展如火如荼,国家政策利好,互联网大佬纷纷在大数据行业布局,我们想让自己的职业生涯在一个朝阳行业发展,肯定又要学习相关技术,让自己与时俱进,但是难就难在大数据是一个新兴事物,目前我国大学的专业里面还鲜少有这个专业,国家刚批的大数据专业,全国目前35个高校,但是从17年开始招生,2021年才有第一批毕业生进入职场,在四年期间,是大数据行业发展的飞速时期,没有行业发展是等着人才进入的,而是需要要虚位以待、蓄势待发,所以在没有高等教育准备好的大数据教育,如何高效的学习大数据,如何快速的与行业发展想契合,那么需要我们成为第一个吃螃蟹的人,作为一个随着大数据行业成长的职业人,首先要知道大数据是个啥?

    大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    那来帮大家分析下:如何高效的学习大数据。

    经常有初学者会问,自己想往大数据方向发展,该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高……首先,如果你确定了想往这个方面发展,先考虑自己的过去从业经历、专业、兴趣是什么。计算机专业——操作系统、硬件、网络、服务器?软件专业——软件开发、编程、写代码?还是数学、统计学专业——对数据和数字特别感兴趣?

    那么你能找师傅带吗?

    但凡有这种想法的人,或多或少都会存有侥幸之心,或者叫做“天真,单纯”。希望不花一分钱,就能更快速的学到更优质,更实用的技能。

    关于这一点,我只想反问一句你:“如果你是大师,你凭什么愿意带我?”

    其实这就是想告诉你大数据的三个发展方向,平台搭建/优化/运维/监控、大数据开发/设计/架构、数据分析/挖掘。

    先说一下大数据的4V特征:

    数据量大,TB->PB

    数据类型繁多,结构化、非结构化文本、日志、视频、图片、地理位置等;

    商业价值高,但是这种价值需要在海量数据之上,通过数据分析与机器学习更快速的挖掘出来;

    处理时效性高,海量数据的处理需求不再局限在离线计算当中。

    现如今,正式为了应对大数据的这几个特点,开源的大数据框架越来越多,越来越强,先列举一些常见的:

    文件存储:Hadoop HDFS、Tachyon、KFS

    离线计算:Hadoop MapReduce、Spark

    流式、实时计算:Storm、Spark Streaming、S4、Heron

    K-V、NOSQL数据库:HBase、Redis、MongoDB

    资源管理:YARN、Mesos

    日志收集:Flume、Scribe、Logstash、Kibana

    消息系统:Kafka、StormMQ、ZeroMQ、RabbitMQ

    查询分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid

    分布式协调服务:Zookeeper

    集群管理与监控:Ambari、Ganglia、Nagios、Cloudera Manager

    数据挖掘、机器学习:Mahout、Spark MLLib

    数据同步:Sqoop

    任务调度:Oozie

    ······

    第一步:初识Hadoop

    1.1 学会百度与Google

    不论遇到什么问题,先试试搜索并自己解决。

    Google首选,翻不过去的,就用百度吧。

    1.2 参考资料首选官方文档

    特别是对于入门来说,官方文档永远是首选文档。

    相信搞这块的大多是文化人,英文凑合就行,实在看不下去的,请参考第一步。

    1.3 先让Hadoop跑起来

    Hadoop可以算是大数据存储和计算的开山鼻祖,现在大多开源的大数据框架都依赖Hadoop或者与它能很好的兼容。

    关于Hadoop,你至少需要搞清楚以下是什么:

    · Hadoop 1.0、Hadoop 2.0

    · MapReduce、HDFS

    · NameNode、DataNode

    · JobTracker、TaskTracker

    · Yarn、ResourceManager、NodeManager

    自己搭建Hadoop,请使用第一步和第二步,能让它跑起来就行。

    建议先使用安装包命令行安装,不要使用管理工具安装。

    另外:Hadoop1.0知道它就行了,现在都用Hadoop 2.0.

    1.4 尝试使用Hadoop

    · HDFS目录操作命令;

    · 上传、下载文件命令;

    · 提交运行MapReduce示例程序;

    · 打开Hadoop WEB界面,查看Job运行状态,查看Job运行日志。

    · 知道Hadoop的系统日志在哪里。

    1.5了解它们的原理

    MapReduce:如何分而治之;

    HDFS:数据到底在哪里,什么是副本;

    Yarn到底是什么,它能干什么;

    NameNode到底在干些什么;

    ResourceManager到底在干些什么;

    1.6 自己写一个MapReduce程序

    仿照WordCount例子,自己写一个(照抄也行)WordCount程序,

    打包并提交到Hadoop运行。

    不会Java的话,Shell、Python都可以,有个东西叫Hadoop Streaming。

    如果能认真完成了以上几步,恭喜你,你的一只脚已经进来了。

    第二步:更高效的WordCount

    2.1 学点SQL吧

    如果不懂数据库的童鞋先学习使用SQL句。

    2.2 SQL版WordCount

    在1.6中,你写(或者抄)的WordCount一共有几行代码?

    如果用SQL的话:

    SELECT word,COUNT(1) FROM wordcount GROUP BY word;

    这便是SQL的魅力,编程需要几十行,甚至上百行代码,SQL一句就搞定;使用SQL处理分析Hadoop上的数据,方便、高效、易上手、更是趋势。不论是离线计算还是实时计算,越来越多的大数据处理框架都在积极提供SQL接口。

    2.3 安装配置Hive

    Hive算是数据仓库工具,安装不难,网上有很多教程,配置完成后,可以正常进入Hive命令行。

    2.4 试试使用Hive

    尝试在Hive中创建wordcount表,并运行2.2中的SQL语句。在Hadoop WEB界面中找到刚才运行的SQL任务。看SQL查询结果是否和1.4中MapReduce中的结果一致。

    明明写的是SQL,为什么Hadoop WEB界面中看到的是MapReduce任务?

    2.5 学会Hive的基本命令

    创建、删除表;加载数据到表;下载Hive表的数据;并学习更多关于Hive的语法和命令。

    0和Hadoop2.0的区别

    MapReduce的原理(还是那个经典的题目,一个10G大小的文件,给定1G大小的内存,如何使用Java程序统计出现次数最多的10个单词及次数);

    HDFS读写数据的流程;向HDFS中PUT数据;从HDFS中下载数据;

    自己会写简单的MapReduce程序,运行出现问题,知道在哪里查看日志;

    会写简单的SELECT、WHERE、GROUP BY等SQL语句;

    Hive SQL转换成MapReduce的大致流程;

    Hive中常见的语句:创建表、删除表、往表中加载数据、分区、将表中数据下载到本地;

    从上面的学习,你已经了解到,HDFS是Hadoop提供的分布式存储框架,它可以用来存储海量数据,MapReduce是Hadoop提供的分布式计算框架,它可以用来统计和分析HDFS上的海量数据,而Hive则是SQL On Hadoop,Hive提供了SQL接口,开发人员只需要编写简单易上手的SQL语句,Hive负责把SQL翻译成MapReduce,提交运行。

    第三步:把别处的数据搞到Hadoop上

    此处也可以叫做数据采集,把各个数据源的数据采集到Hadoop上。

    3.1 HDFS PUT命令

    put命令在实际环境中也比较常用,通常配合shell、python等脚本语言来使用。建议需熟练掌握。

    3.2 HDFS API

    HDFS提供了写数据的API,自己用编程语言将数据写入HDFS,put命令本身也是使用API。

    实际环境中一般自己较少编写程序使用API来写数据到HDFS,通常都是使用其他框架封装好的方法。比如:Hive中的INSERT语句,Spark中的saveAsTextfile等。

    可以尝试了解原理,试着写几个Demo。

    3.3 Sqoop

    Sqoop是一个主要用于Hadoop/Hive与传统关系型数据库Oracle/MySQL/SQLServer等之间进行数据交换的开源框架。

    就像Hive把SQL翻译成MapReduce一样,Sqoop把你指定的参数翻译成MapReduce,提交到Hadoop运行,完成Hadoop与其他数据库之间的数据交换。

    自己下载和配置Sqoop(建议先使用Sqoop1,Sqoop2比较复杂)。

    了解Sqoop常用的配置参数和方法。

    使用Sqoop完成从MySQL同步数据到HDFS;

    使用Sqoop完成从MySQL同步数据到Hive表;

    PS:如果后续选型确定使用Sqoop作为数据交换工具,那么建议熟练掌握,否则,了解和会用Demo即可。

    3.4 Flume

    Flume是一个分布式的海量日志采集和传输框架,因为“采集和传输框架”,所以它并不适合关系型数据库的数据采集和传输。Flume可以实时的从网络协议、消息系统、文件系统采集日志,并传输到HDFS上。因此,如果你的业务有这些数据源的数据,并且需要实时的采集,那么就应该考虑使用Flume。

    下载和配置Flume。使用Flume监控一个不断追加数据的文件,并将数据传输到HDFS;

    PS:Flume的配置和使用较为复杂,如果你没有足够的兴趣和耐心,可以先跳过Flume。

    3.5 阿里开源的DataX

    之所以介绍这个,是因为以前某公司客户目前使用的Hadoop与关系型数据库数据交换的工具,就是之前基于DataX开发的,个人感觉非常好用。现在DataX已经是3.0版本,支持很多数据源。你也可以在其之上做二次开发。

    PS:有兴趣的可以研究和使用一下,对比一下它与Sqoop。

    至此,你的“大数据平台”应该是这样的:

    第四步:把Hadoop上的数据搞到别处去

    前面介绍了如何把数据源的数据采集到Hadoop上,数据到Hadoop上之后,便可以使用Hive和MapReduce进行分析了。那么接下来的问题是,分析完的结果如何从Hadoop上同步到其他系统和应用中去呢?

    其实此处的方法和第三步基本一致的。

    4.1 HDFS GET命令

    把HDFS上的文件GET到本地。需要熟练掌握。

    4.2 HDFS API

    原理同3.2。

    4.3 Sqoop

    原理同3.3。

    使用Sqoop完成将HDFS上的文件同步到MySQL;

    使用Sqoop完成将Hive表中的数据同步到MySQL;

    4.4 DataX

    原理同3.4

    此时,“你的大数据平台”应该是这样的:

    走完第三步和第四步的流程,那么你应该已经具备以下技能和知识点:

    · 知道如何把已有的数据采集到HDFS上,包括离线采集和实时采集;

    · 知道sqoop(或者还有DataX)是HDFS和其他数据源之间的数据交换工具;

    · 知道flume可以用作实时的日志采集;

    至此,对于大数据平台,应该已经掌握如何搭建Hadoop集群,把数据采集到Hadoop上,使用Hive和MapReduce来分析数据,把分析结果同步到其他数据源。

    接下来的问题就是,Hive使用的越来越多,你会发现很多不愉快的地方,特别是速度慢,

    大多情况下,明明我的数据量很小,它都要申请资源,启动MapReduce来执行。

    第五步:快一点吧,我的SQL

    其实大家都已经发现Hive后台使用MapReduce作为执行引擎,实在是有点慢。因此SQL On Hadoop的框架越来越多,按我的了解,最常用的按照流行度依次为SparkSQL、Impala和Presto.这三种框架基于半内存或者全内存,提供了SQL接口来快速查询分析Hadoop上的数据。

    目前我们的方案使用的是SparkSQL,至于为什么用SparkSQL,原因大概如下:

    · 使用Spark还做了其他事情,不想引入过多的框架;

    · Impala对内存的需求太大,没有过多资源部署;

    5.1 关于Spark和SparkSQL

    什么是Spark,什么是SparkSQL。

    Spark有的核心概念及名词解释。

    SparkSQL和Spark是什么关系,SparkSQL和Hive是什么关系。

    5.2 如何部署和运行SparkSQL

    Spark有哪些部署模式?

    如何在Yarn上运行SparkSQL?

    使用SparkSQL查询Hive中的表。

    PS:Spark不是一门短时间内就能掌握的技术,因此建议在了解了Spark之后,可以先从SparkSQL入手,循序渐进。

    第六步:一夫多妻制

    其实我想说的是数据的一次采集、多次消费。

    在实际业务场景下,特别是对于一些监控日志,想即时的从日志中了解一些指标(关于实时计算,后面步节会有介绍),这时候,从HDFS上分析就太慢了,尽管是通过Flume采集的,但Flume也不能间隔很短就往HDFS上滚动文件,这样会导致小文件特别多。

    为了满足数据的一次采集、多次消费的需求,这里要说的便是Kafka。

    6.1 关于Kafka

    Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    6.2 如何部署和使用Kafka

    使用单机部署Kafka,并成功运行自带的生产者和消费者例子。

    使用Java程序自己编写并运行生产者和消费者程序。

    Flume和Kafka的集成,使用Flume监控日志,并将日志数据实时发送至Kafka。

    至此,“大数据平台”应该扩充成这样:

    这时,使用Flume采集的数据,不是直接到HDFS上,而是先到Kafka,Kafka中的数据可以由多个消费者同时消费,其中一个消费者,就是将数据同步到HDFS。

    总结:

    为什么Spark比MapReduce快。

    使用SparkSQL代替Hive,更快的运行SQL。

    使用Kafka完成数据的一次收集,多次消费架构。

    自己可以写程序完成Kafka的生产者和消费者。

    前面的学习已经掌握了大数据平台中的数据采集、数据存储和计算、数据交换等大部分技能,而这其中的每一步,都需要一个任务(程序)来完成,各个任务ä...

  • ?

    大数据分析:数据分析报告怎么用?

    南烟

    展开

    作者:冯大福

    来源:说说数据分析那些事儿

    大数据,这个被炒烂了的概念,现如今已被人工智能替代。我们先不讨论人工智能,就大数据而言,我们都是在强调它的技术,例如网络热词:hadoop+spark,data mining。而我们在用大数据时候,经常神话它的影响。例如,广告投放精准化,社会安全管理有序,医药行业智能化等。

    当然这些是我们的畅想,同时确实也离不开数据分析影响,但是我们有没有停下脚步去想一想,到底大数据怎么去落地呢,怎么去分析?怎么利用数据来去使企业做出决策,例如:广告投放精准化?

    1

    我们了解什么叫大数据分析吗?

    麦肯锡给大数据定义:

    “一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。”

    基于我对以上定义的理解,我总结的大数据分析就是,将获取的数据打通、整合、找寻规律,立即得出决策信息。

    数据获取

    我总结的数据源可分类三类:

    (1)一方数据:用户事实数据

    例如用户在某金融机构购买的理财产品,时间、哪个出单口、姓名、电话等,或者运营数据,例如某互联金融app,用户操作行为数据。

    (2)二方数据:其实这部分叫做广告投放数据

    例如,广告展示量,活动页点击量,广告来源等。也有公司将这部分数据作为第三方数据,因为有些广告监测公司会利用此数据和人群数据整合构建自己dmp这样的公司一般宣称为第三方公司,三方数据。

    (3)三方数据:行业数据,也叫公开数据

    例如行协的数据,或者互联网行为数据,例如某互联网公司用户在此网站的行为数据,或者嵌入sdk的app后我们能采集到的安装活跃列表,以及可采集到线下数据。

    打通:其实就是利用关键点的采集整合一二三方数据。例如我们可以通过手机号将一方和三方数据整合,或者利用cookie,或者imei号等将二方、三方数据整合。但是由于现在监管制度对手机号敏感数据的控制,以及互联网和移动端数据的跨平台打通技术难点,我们现实的匹配率很低,例如一方和三方的数据匹配达到20%其实就算比较不错的情况,当然运营商数据除外。

    找寻规律:目标就是数据清理,从非结构化数据变成结构化数据,以便统计,数据探索,找寻规律,形成数据分析报告观点。本文将会在第三部分阐述。

    立即决策:将数据分析报告中的观点系统化或产品化,目前而言,大部分公司还是会依靠人工决策。

    为什么需要大数据分析?看上去大数据分析似乎按照这些步骤来,但是从第一步的数据源来说,其实已经反应了大数据的特点,就是杂乱无章,那么怎么从这些数据找寻规律,分析的内容和目标是否对应上,似乎就是我们需要大数据分析的理由。

    现在,大数据的分析通常采用的数据报表来反映企业运营状况,同时,对于热点,人群分析,我们看到的统计值,目标核心都是用数据分析报告提炼的观点来指导运营,那么问题来了,怎么用数据分析来指导数据决策呢?

    2

    数据分析的报告思路

    (从移动端的角度进行切入)

    基于我对数据分析的理解,我将数据报告会分成三大类:市场分析、运营分析、用户行为分析。

    市场分析

    由于市场分析一般而言是定性、定量分析,最近热播剧《我的前半生》贺函和唐晶的职业就是来去咨询公司的一般会以访谈、问卷调查来一份市场分析报告去告诉客户他们的市场占有量,消费者观点等。

    这里,我们以移动互联网数据的市场分析为例,通常来说,数据源是公开数据,或者在第三方数据。正如我们所讲,将sdk嵌入开发者应用,就可以收集到安装以及使用列表,那么开发者使用的sdk越多,我们能收集的数据源也越多,这样就可以形成安装app排名,使用app排名,这里面所说的覆盖率、活跃率也是这个意思,例如:即此款应用安装量、使用量在整体金融类的安装量、使用量占比。

    那么,这些市场分析的作用呢,一般而言,是对公司市场营销的总结,比如某金融公司kpi是为了获客,他们做了一系列营销,下个月排名我们可以查询到此款应用的安装量,是否较上个月上升呢? 那么我们的竞品表现呢,他们是不是也做了一些列的营销活动排名上升下降?我们都可以通过市场分析、竞品分析来观测,但是这部分的观点由于是市场数据,我们只能通过大量的搜寻官网活动,或者互联网广告推测营销来推测是否竞争对手排名上升和这些营销活动有关。

    同时,根据市场的走势图,我们能发现潜在的竞争对手,例如:我们能看出下图中的工商银行由于手机属于高覆盖高活跃组,即安装xxapp活跃人群也是最高的,因此,无疑xx银行是所有银行组潜在竞争对手。需要更加注意他们的市场策略。

    运营分析

    移动互联网提出的方法论:3A3R,笔者之前在做咨询的时候,此方法论也可以将网站分析套用,总结来说3A3R就是:

    感知 → 获取 → 活跃 → 获取 → 营收 → 传播 → 感知

    这里需要注明下,运营分析只是一个公司的baseline,让产品经理、运营人员、市场人员根据自己本公司的数据参考做出合理的决定,同时,运营的数据只是参考或者叫警示,若要具体,需要特定细节的分析,例如是否app改版,怎么改?需要增加哪家渠道合作?

    (1)Awareness 感知

    根据广告投放数据进行分析,目的判断渠道广告页对app 或者网站引流情况,同时可以帮助广告主设计监测表格,以数字角度衡量广告投放效果。

    但是,广告数据一般而言在广告监测公司手中,或者公开的使用工具上例如GA,我们需要依靠广告公司设计营销环节,例如活动页,加监测代码,或者在媒体、app应用商店加入代码便于监测广告表现,而往往这样的数据很难加载,一般是由应用商店,或者媒体提供,同时,以上数据,监测公司数据一般而言也不会提供给广告主,只是会提供统计值。

    言归正传,我们看感知数据其实目的就是想衡量我们的大量的营销投放钱花的对不对,广告的展示量、点击量等是最好衡量一个公司的广告市场部门绩效,没有广告投放,就无法带来获客,因此钱花的值不值,能带来多少客人,才会有下一步 acquisition。

    (2)Acquisition 获客

    获客是第一步广告投放拓展,用户点击广告后到达应用商店或者着陆页后去下载app,访问网页后,登陆app后的数据是广告公司或者应用商店提供不了的数据,因此获客其实有两重目的。

    目的1: 衡量第一步提供的数据是否准确,即是否渠道作弊

    目的2: 判断渠道是否好坏

    目的3: 判断营销活动是否有效

    例如下图中,我们发现4成用户是搜索流量较上个月增加了6%,是不是我们需要增加和sem的合作呢?而在媒体引荐渠道中,我们通过渠道衡量客户转化率,点击-用户激活的,激活的注册转化,可否重点对某应用商店增加合作。

    下图是目的3的应用,来衡量三个月内的新增用户,活跃用户是否受活动营销、广告投放、版本更迭等影响。例如:7月28日的版本更迭,增加新用户的利器,那么产品经理需要分析下这个版本到底哪里的改变,让用户增长这么快,而8月份的营销活动会唤醒沉睡用户,反应考核运营人员的绩效,那么,是否我们在做促活时候可以借鉴8月的成功经验呢?而这个成功经验需要进一步做专题分析。

    (3)Activities 活跃

    获客后,我们想看看我们的新增、活跃用户的表现情况,那么就到了第三步 活跃,其实就是为产品经理改版app或者页面提供数据支持。

    活跃分析可参考以下三个步骤:

    第一:从页面浏览次数,独立访问人数,来圈定主要页面分析。

    例如某款app首页是pv,uv最高,我们会重点分析首页。

    第二:根据圈定页面,制作点击热力图,便于产品经理对后续页面改造提供数据支持,例如我们可以将点击量小的按钮在下次改版删除,对点击量大的重新排序。

    第三:根据圈定页面,制作点击热力图,便于产品经理对后续页面改造提供数据支持,例如我们可以将点击量小的按钮在下次改版删除,对点击量大的重新排序。

    (4)Retention留存分析& Revenue & Refer

    这几个实际上在企业运用的并不多,这里简要说明下。

    ① Retention

    用户积累到一定数量后,我们想看下用户粘性,那么我们就来到retention,一般是衡量活动效果时候运用的比较多,来看此次活动过后,是否用户依旧会使用我们的app,但是由于金融app属性不会像游戏应用每天进行访问,因此Retention 在实际应用中不会太多,下面的例子是个展示,不做赘述。

    ② Revenue

    这些留下来的客户给公司贡献多少现金呢?会看收入步骤, 一般公司不会将现金流数据放入在统计平台中,但是我们需要提出用户贡献的流水金额数据供我们使用,便于人群划分,例如下面简要分析:

    Refer 传播:

    最后,我们想让这些客户进行传播;核心是口碑营销,即用户自发的转发给其他用户链接,让他们下载app或者参与活动,因此传播的下一个环节又会转换营销,但是传播会受到很多限制,例如没有奖励机制的口碑传播,几乎转发量为0,同时,传播若要衡量比较困难,尤其在大量互联网用户基础上,这样会造成资源代码叠加,系统负担,因此一般企业也不会设计这样活动让营销人员参考。

    用户分析

    若说大数据分析的核心,其实就是在于用户分析,正如我们前面所讲,用户分析的步骤流程如下:

    即在力所能及的搜集数据范围内,打通数据,客户用户,精准营销。

    第一,我们可以筛选的条件列表,我们可以通过应用条件,位置,标签条件将数据整合,整合的目的就是刻画客户,定出营销策略。

    例如:我们想筛选金融客户(应用条件筛选),出现在五星级酒店(位置条件),且为母婴人群(标签)。

    但是需要注意的是,条件越多,用户轮廓越清晰,人群会越少。

    第二,根据筛选的人群,我们将线上/线上统计化,或者建模多维度分析。

    例如,我们根据筛选的人群,发现男性多于女性,苹果手机属性最高,常手机工具使用,那么我们可以将这部分目标人群用增加手机工具合作,或者和苹果合作获客或者促活。

    第三,整合以上数据分析,形成人群画像。

  • ?

    最常用的四种大数据分析方法

    噬魂

    展开

    本文主要讲述数据挖掘分析领域中,最常用的四种数据分析方法:描述型分析、诊断型分析、预测型分析和指令型分析。

    当刚涉足数据挖掘分析领域的分析师被问及,数据挖掘分析人员最重要的能力是什么时,他们给出了五花八门的答案。

    其实我想告诉他们的是,数据挖掘分析领域最重要的能力是:能够将数据转化为非专业人士也能够清楚理解的有意义的见解。

    使用一些工具来帮助大家更好的理解数据分析在挖掘数据价值方面的重要性,是十分有必要的。其中的一个工具,叫做四维分析法。

    简单地来说,分析可被划分为4种关键方法。

    下面会详细介绍这四种方法。

    1. 描述型分析:发生了什么?

    这是最常见的分析方法。在业务中,这种方法向数据分析师提供了重要指标和业务的衡量方法。

    例如,每月的营收和损失账单。数据分析师可以通过这些账单,获取大量的客户数据。了解客户的地理信息,就是“描述型分析”方法之一。利用可视化工具,能够有效的增强描述型分析所提供的信息。

    2. 诊断型分析:为什么会发生?

    描述性数据分析的下一步就是诊断型数据分析。通过评估描述型数据,诊断分析工具能够让数据分析师深入地分析数据,钻取到数据的核心。

    良好设计的BI dashboard能够整合:按照时间序列进行数据读入、特征过滤和钻取数据等功能,以便更好的分析数据。

    3. 预测型分析:可能发生什么?

    预测型分析主要用于进行预测。事件未来发生的可能性、预测一个可量化的值,或者是预估事情发生的时间点,这些都可以通过预测模型来完成。

    预测模型通常会使用各种可变数据来实现预测。数据成员的多样化与预测结果密切相关。

    在充满不确定性的环境下,预测能够帮助做出更好的决定。预测模型也是很多领域正在使用的重要方法。

    4. 指令型分析:需要做什么?

    数据价值和复杂度分析的下一步就是指令型分析。指令模型基于对“发生了什么”、“为什么会发生”和“可能发生什么”的分析,来帮助用户决定应该采取什么措施。通常情况下,指令型分析不是单独使用的方法,而是前面的所有方法都完成之后,最后需要完成的分析方法。

    例如,交通规划分析考量了每条路线的距离、每条线路的行驶速度、以及目前的交通管制等方面因素,来帮助选择最好的回家路线。

    结论

    最后需要说明,每一种分析方法都对业务分析具有很大的帮助,同时也应用在数据分析的各个方面。

    原文链接:http://kdnuggets/2017/07/4-types-data-analytics.html

    转载请注明出自:葡萄城控件

    关于葡萄城

    葡萄城是全球控件行业领导者,世界领先的企业应用定制工具、企业报表和商业智能解决方案提供商,为超过75%的全球财富500强企业提供服务。

  • ?

    大数据分析之多维数据分析入门

    Elana

    展开

    阅读本文不需要技术背景。

    总体介绍

    首先模拟一个数据分析场景,某企业积累了如下表格所示的销售数据:

    产品销售数据表

    表格中每一行表示某个时间段内某种商品在某个地区的销售情况。很明显,这些数据涉及到了时间、地区、产品三个业务角度。

    在对这样的数据进行分析时,不同的角色都会基于自己所感兴趣的业务角度提出问题

    销售经理关心各个地区的销售情况,希望找出销售增长率在平均水平之下的地区产品总监则希望了解近期内各种产品的销量对比,以作为后期产品研发方向的参考CEO想要知道近六个月内整体销售环比信息,用以评估是否达到公司运营目标

    对于表格中的数据,可以将其转换为另一种数据格式 - "三维空间立方体",如下图所示:

    图 1 - 数据立方体

    相对于表格,以三维立方体形式呈现的数据结构更加直观。

    在这个数据立方体中,每一个坐标轴都代表一个业务角度(时间、地区、产品),坐标轴上的坐标值则表示了某个业务角度的一个确定的值(如:北京市、3月份、手机),不同坐标轴坐标值的交叉点则表示一个具体的销售额。

    实际上,此数据立方体中表示业务角度的坐标轴就是维度,类似于三维立方体的数据结构则被称为多维数据结构(也称数据立方体)。

    再次回顾前文中销售经理、产品总监、CEO各自提出的问题,不难发现他们各自所关注的维度分别为:地区、产品、时间

    图 2 - 不同角色关注不同维度

    目前我们所模拟的这个数据分析场景较为特殊,因为只有三个维度,所以可以直观的将数据想象成一个三维立方体。

    实际情况中,企业进行数据分析时往往要参考更多的维度,而且提出的问题也会更加复杂,此时,已经不能将数据以经典的三维立方体结构进行呈现。

    虽然无法在三维空间中呈现更多维度的数据结构,但是面对更多维度时进行数据分析的思路却完全不变,不同的角色只需要从自身所关注的维度出发并提出问题即可,他们即不需要了解十几甚至几十维的数据如何存储,也无需考虑多维数据查询的具体实现方式。

    核心概念简介

    在多维数据分析领域中,有几个非常重要的核心概念:

    数据立方体(Cube)维度(Dimension)成员(Member),又称维度成员(Dimension Member)度量(Measure)级别(Level)

    图 3 - 多维数据模型

    维度(Dimension)

    图 4 - 维度

    维度就是描述数据的业务角度。在不同的数据分析场景中,会存在若干个不同的维度。

    以上图为例,存在三个维度:时间、地区、产品。在这个数据分析场景中,“哪种产品销量最好?”这样的问题显然主要关注的是产品这个维度,而“哪些地区连续六个月销售额环比增长?”则同时关注了地区和日期两个维度。

    在一个多维数结构中,维度可以被抽象理解成一个坐标轴,图1中所示的数据分析场景由三个维度组成,每个维度各自代表了三维空间中的一个坐标轴。

    相对于三维空间,具有更多维度的空间结构显然不易于被理解,实际上,您并不需要在头脑中想象出一个更多维度的空间场景,下文中几个简单的步骤将帮助您快速理解多维空间结构:

    【理解一维空间结构】

    图 5 - 一维空间图

    一维空间是一把尺子,只有一个坐标轴,坐标轴上的一个坐标值就能确定一个点

    【理解二维空间结构】

    图 6 - 二维空间图

    二维空间是一个平面,具有两个坐标轴,不同坐标轴上的两个坐标值确定一个点

    【理解三维空间结构】

    图 7 - 三维空间图

    三维空间具有长、宽、高三个坐标轴,三个坐标轴坐标值确定一个点

    【理解四维空间结构】

    四维空间比三维空间多出一个坐标轴,这里我们称这个新的坐标轴为“第四坐标轴”,现在如果需要确定一个点,除了长、宽、高三个轴上的坐标值外,还需要第四坐标轴上的一个坐标值

    【理解N维空间结构】

    N(N可以是大于零的任意整数)维空间中具有N个坐标轴,需要N个不同坐标轴上的坐标值才能确定一个点

    维度成员(Dimension Member)

    前文介绍维度概念时,讲到可将维度理解成表示某种业务角度的坐标轴,而维度成员则非常类似于维度坐标轴上的坐标值。

    以时间维度为例,“一季度”、“1月份”、“2月份”这三个维度成员同属于时间维度,它们各自表示了时间维度下一个具体的时间段。

    由下图可以看出,同一个维度下的维度成员呈现出树状结构,我们将没有子级成员的成员称为明细成员(Leaf Member,又称明细维度成员Leaf Dimension Member),其他成员称为非明细成员。

    图 8 - 明细成员与非明细成员

    数据立方体(Cube)

    数据立方体表示由若干个维度所描述的一个数据集合,每个维度各自表示一个可对此数据集合进行观察和分析的业务角度。

    图 9 - Cube(数据立方体)

    之所以称为“立方体”,是因为由三个维度所描述的一个数据集,能够非常轻松的被想象成三维空间中的一个立方体结构。

    需要注意的是,在多维数据分析体系中,一个数据立方体往往具有更多的维度,虽然更多维度形态并不像三维空间立方体那样直观,但维度表示某些业务角度的作用不会改变。

    度量(Measure)

    图 10 - 度量值

    在一个数据立方体中,从每个维度上都选取一个确定的维度成员,这些维度成员组合所确定的一个点就是度量值。

    在图 10示例中,日期维度:1月份、地区维度:河北省、产品维度:手机确定了一个最细粒度的数据方块,这个小数据方块(下文称为Data Cell)就是销售额6688这个度量值,显然,这表示“河北地区1月份手机产品的销售额是6688”。

    如果仔细观察图 10,您可能会发现并没有一个Data Cell能够直接表示“北京市一季度手机产品的销售额”。由于一季度与1、2、3三个月份是父子级的关系,所以“北京市一季度手机产品的销售额”可以通过汇总计算得到,如下图所示:

    图 11 - 度量值汇总

    一般情况下,数据立方体中并不直接存储非明细成员所描述的度量值,而是通过对其后代成员中的全部明细成员进行汇总计算而得出。

    级别(Level)

    级别表示维度成员所描述业务角度的细节程度,也可理解为通过维度成员观察数据的粒度。例如日期维度中一季度、1月这两个成员,分别属于季度、月份两个不同的级别,显而易见,季度级别的维度成员描述数据的粒度较为宽泛,月级别则较为细致。

    图 12 - Level(级别)

大数据分析表

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

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

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP