- ?
六大主流大数据采集平台架构分析
方海安
展开
随着大数据越来越被重视,数据采集的挑战变的尤为突出。今天为大家介绍几款数据采集平台:
Apache Flume Fluentd Logstash Chukwa Scribe Splunk Forwarder
大数据平台与数据采集
任何完整的大数据平台,一般包括以下的几个过程:
数据采集–>数据存储–>数据处理–>数据展现(可视化,报表和监控)
其中,数据采集是所有数据系统必不可少的,随着大数据越来越被重视,数据采集的挑战也变的尤为突出。这其中包括:
我们今天就来看看当前可用的六款数据采集的产品,重点关注它们是如何做到高可靠,高性能和高扩展。
1、Apache Flume
Flume 是Apache旗下的一款开源、高可靠、高扩展、容易管理、支持客户扩展的数据采集系统。 Flume使用JRuby来构建,所以依赖Java运行环境。
Flume最初是由Cloudera的工程师设计用于合并日志数据的系统,后来逐渐发展用于处理流数据事件。
Flume设计成一个分布式的管道架构,可以看作在数据源和目的地之间有一个Agent的网络,支持数据路由。
每一个agent都由Source,Channel和Sink组成。
Source
Source负责接收输入数据,并将数据写入管道。Flume的Source支持HTTP,JMS,RPC,NetCat,Exec,Spooling Directory。其中Spooling支持监视一个目录或者文件,解析其中新生成的事件。
Channel
Channel 存储,缓存从source到Sink的中间数据。可使用不同的配置来做Channel,例如内存,文件,JDBC等。使用内存性能高但不持久,有可能丢数据。使用文件更可靠,但性能不如内存。
Sink
Sink负责从管道中读出数据并发给下一个Agent或者最终的目的地。Sink支持的不同目的地种类包括:HDFS,HBASE,Solr,ElasticSearch,File,Logger或者其它的Flume Agent。
Flume在source和sink端都使用了transaction机制保证在数据传输中没有数据丢失。
Source上的数据可以复制到不同的通道上。每一个Channel也可以连接不同数量的Sink。这样连接不同配置的Agent就可以组成一个复杂的数据收集网络。通过对agent的配置,可以组成一个路由复杂的数据传输网络。
配置如上图所示的agent结构,Flume支持设置sink的Failover和Load Balance,这样就可以保证即使有一个agent失效的情况下,整个系统仍能正常收集数据。
Flume中传输的内容定义为事件(Event),事件由Headers(包含元数据,Meta Data)和Payload组成。
Flume提供SDK,可以支持用户定制开发:
Flume客户端负责在事件产生的源头把事件发送给Flume的Agent。客户端通常和产生数据源的应用在同一个进程空间。常见的Flume 客户端有Avro,log4J,syslog和HTTP Post。另外ExecSource支持指定一个本地进程的输出作为Flume的输入。当然很有可能,以上的这些客户端都不能满足需求,用户可以定制的客户端,和已有的FLume的Source进行通信,或者定制实现一种新的Source类型。
同时,用户可以使用Flume的SDK定制Source和Sink。似乎不支持定制的Channel。
2、Fluentd
Fluentd是另一个开源的数据收集框架。Fluentd使用C/Ruby开发,使用JSON文件来统一日志数据。它的可插拔架构,支持各种不同种类和格式的数据源和数据输出。最后它也同时提供了高可靠和很好的扩展性。Treasure Data, Inc 对该产品提供支持和维护。
Fluentd的部署和Flume非常相似:
Fluentd的架构设计和Flume如出一辙:
Fluentd的Input/Buffer/Output非常类似于Flume的Source/Channel/Sink。
Input
Input负责接收数据或者主动抓取数据。支持syslog,http,file tail等。
Buffer
Buffer负责数据获取的性能和可靠性,也有文件或内存等不同类型的Buffer可以配置。
Output
Output负责输出数据到目的地例如文件,AWS S3或者其它的Fluentd。
Fluentd的配置非常方便,如下图:
Fluentd的技术栈如下图:
FLuentd和其插件都是由Ruby开发,MessgaePack提供了JSON的序列化和异步的并行通信RPC机制。
Cool.io是基于libev的事件驱动框架。
FLuentd的扩展性非常好,客户可以自己定制(Ruby)Input/Buffer/Output。
Fluentd从各方面看都很像Flume,区别是使用Ruby开发,Footprint会小一些,但是也带来了跨平台的问题,并不能支持Windows平台。另外采用JSON统一数据/日志格式是它的另一个特点。相对去Flumed,配置也相对简单一些。
3、Logstash
Logstash是著名的开源数据栈ELK (ElasticSearch, Logstash, Kibana)中的那个L。
Logstash用JRuby开发,所有运行时依赖JVM。
Logstash的部署架构如下图,当然这只是一种部署的选项。
一个典型的Logstash的配置如下,包括了Input,filter的Output的设置。
几乎在大部分的情况下ELK作为一个栈是被同时使用的。所有当你的数据系统使用ElasticSearch的情况下,logstash是首选。
4、Chukwa
官网:https://chukwa.apache.org/
Apache Chukwa是apache旗下另一个开源的数据收集平台,它远没有其他几个有名。Chukwa基于Hadoop的HDFS和Map Reduce来构建(显而易见,他用Java来实现),提供扩展性和可靠性。Chukwa同时提供对数据的展示,分析和监视。很奇怪的是它的上一次 github的更新事7年前。可见该项目应该已经不活跃了。
Chukwa的部署架构如下:
Chukwa的主要单元有:Agent,Collector,DataSink,ArchiveBuilder,Demux等等,看上去相当复杂。由于该项目已经不活跃,我们就不细看了。
5、Scribe
代码托管:https://github/facebookarchive/scribe
Scribe是Facebook开发的数据(日志)收集系统。已经多年不维护,同样的,就不多说了。
6、Splunk Forwarder
以上的所有系统都是开源的。在商业化的大数据平台产品中,Splunk提供完整的数据采金,数据存储,数据分析和处理,以及数据展现的能力。
Splunk是一个分布式的机器数据平台,主要有三个角色:
Search Head负责数据的搜索和处理,提供搜索时的信息抽取。
Indexer负责数据的存储和索引 Forwarder,负责数据的收集,清洗,变形,并发送给Indexer
Splunk内置了对Syslog,TCP/UDP,Spooling的支持,同时,用户可以通过开发 Input和Modular Input的方式来获取特定的数据。在Splunk提供的软件仓库里有很多成熟的数据采集应用,例如AWS,数据库(DBConnect)等等,可以方便的从云或者是数据库中获取数据进入Splunk的数据平台做分析。
这里要注意的是,Search Head和Indexer都支持Cluster的配置,也就是高可用,高扩展的,但是Splunk现在还没有针对Farwarder的Cluster的功能。也就是说如果有一台Farwarder的机器出了故障,数据收集也会随之中断,并不能把正在运行的数据采集任务Failover到其它的 Farwarder上。
总结
我们简单讨论了几种流行的数据收集平台,它们大都提供高可靠和高扩展的数据收集。大多平台都抽象出了输入,输出和中间的缓冲的架构。利用分布式的网络连接,大多数平台都能实现一定程度的扩展性和高可靠性。
其中Flume,Fluentd是两个被使用较多的产品。如果你用ElasticSearch,Logstash也许是首选,因为ELK栈提供了很好的集成。Chukwa和Scribe由于项目的不活跃,不推荐使用。
Splunk作为一个优秀的商业产品,它的数据采集还存在一定的限制,相信Splunk很快会开发出更好的数据收集的解决方案。
- ?
大数据如何助力社会治理:采集分析数据提前化解风险
抑制祝
展开
大数据如何助力社会治理(法治头条数字化时代的法治问题⑤)
本报记者 张 璁
“大数据”曾经是个大众眼中颇有距离感的专业词汇,可是这几年“大数据”成了人们身边的高频词汇:当你上网购物时,平台总能准确推荐你想要的商品;当你下载某款APP或者打开某个程序,总要你点击同意那些冗长的隐私条款;甚至当你使用不同账号享用同样服务时,居然发现可能遭遇了“大数据杀熟”……
企业员工在自助办税终端上办理纳税手续。宋为伟摄
信息技术与经济社会的交汇融合引发了数据迅猛增长,数据已成为国家基础性战略资源,大数据正日益对全球生产、流通、分配、消费活动以及经济运行机制、社会治理方式产生重要影响。大数据既为我们的生活带来了巨大便利,打开了未来的无限可能,同时也提出了全新的挑战。毫无疑问,大数据正在塑造未来的样貌,那么大数据将可能在哪些方面深刻改变我们的生活?
采集分析数据:提前化解风险
贵州黔东南苗族侗族自治州有很多苗寨,这里仅50户以上的木质连片村寨就达3922个,木质农房达88万栋。不过,随着当地农村经济条件的不断改善,电气火灾也迅猛抬头,而为了有效预防火灾,当地把眼光投向了“大数据”。
记者在黔东南州的西江千户苗寨看到,这里家家户户都在总进线处安装了一个灭弧型电器保护装置。“这些保护装置同时也是农村电气火灾监控大数据平台的感知模块。”当地工作人员打开其手机上一款名为“电丁丁”的APP介绍,大数据中心全天候采集农户用电数据,一旦发现其家中用电数据异常,系统会自动通过手机APP发出预警,通知工作人员上门检查处理。不仅如此,大数据中心针对区域用电数据会生成日报、周报和月报表,分析用电规律,评估安全系数,为预判电器火灾风险、精准指导农村电改提供大数据支撑。
“通过数据采集和大数据分析技术,可以把事后解决改成事先预测,将有可能发生的问题预先监测到并且预解决。”清华大学政治学系副教授孟天广表示,大数据将给社会治理方式带来提升与改变。
这样的例子,记者在深圳南山区也见到一例。2017年清明假期的一天下午,深圳市公安局南山分局人流监测预警系统突然发出预警,原来地形狭长的深圳湾公园短时间内因超量共享单车涌入挤占路面,造成了“毛细栓塞”,很可能发生踩踏。根据大数据提供的实时动态监测、人流趋势分析、人群画像分析等信息,当地公安立即启动应急预案,很快就缓解了现场人流压力,避免了一场可能发生的事故。
“大数据不仅仅为政府的治理贡献数据上的理念、资源、技术、对策,还解决了以前政府在传统治理当中不能解决的问题。”孟天广认为,目前大数据在社会治理的应用方面已经有了一些初步的探索,未来通过大数据来努力推动社会治理的网络化、智能化和系统化,最终可以有效解决政府治理精准化的问题。
政府数据共享:打破孤岛效应
这几年,通过简政放权治理诸如“证明我妈是我妈”一类的奇葩证明取得实质性成效。之所以“奇葩证明”会有生存空间,一个根本的原因在于此前各部门因政务信息之间壁垒森严造成了“数据烟囱”和“信息孤岛”。为此,广东梅州公安打造了一个“证明云”,通过与20多个政府部门实现数据共享,使互联网提供的电子证明与传统证明具有同样效力,成为了专门对付“奇葩证明”的利器。
通过政务信息资源共享来解决“奇葩证明”的难题还只是小试牛刀,而将沉淀在政府手中的数据面向社会开放共享,将深刻引领带动大数据创新应用和产业融合发展。专家介绍,例如空间地理数据的开放,可用于指导采矿、林业、农业、渔业、能源、航海、交通运输等;气象数据的开放,则可以加工用于指导农业生产、旅游业、灾难管理、保险业预测、环境评估等。
对此,早在2015年国务院印发的《促进大数据发展行动纲要》中,就将“加快政府数据开放共享,推动资源整合,提升治理能力”与“稳步推动公共数据资源开放”纳入到主要任务之中。其中,《纲要》还特别提到,优先推动信用、交通、医疗、卫生、就业、社保、地理、文化、教育、科技、资源、农业、环境、安监、金融、质量、统计、气象、海洋、企业登记监管等民生保障服务相关领域的政府数据集向社会开放。
“政府数据开放到什么地步,哪些数据集的数据应予开放,对不同数据集下的数据应如何归类,目前多由相关政府部门和政府官员决定,欠缺整齐划一的标准。”南开大学法学院教授宋华琳表示,需要明确政府数据开放的范围,健全完善政府数据开放的程序机制,界定政府数据开放的标准,“信息公开以公开为原则,以不公开为例外。开放政府数据还有不少具体工作有待推进。”
大数据营销:提升效率防止滥用
今年以来“大数据杀熟”成了网络上的一个热门词汇,其意为,在互联网上购买同样的商品或服务时,向老客户显示的价格反而比新客户要高出不少。事件起因于一名网友在微博上晒出自己的亲身经历,表示其长期在某网站预订价格在380—400元之间的酒店房间,可实际价格只有300元上下,而且一旦使用朋友账号查询就会发现同一房间也显示为300元左右。这条微博在网上发酵之后,许多人都纷纷晒出类似经历的证据。
中国电子商务协会网规研究中心主任阿拉木斯认为,在线下大家都认可诸如“砍价”这样的议价行为,因而同样的商品或服务以不同的交易价格成交也是商业惯例。然而,“大数据杀熟”的问题在于卖方可以通过掌握大数据做到对用户更全面精细地了解和预测,但买方却因为线上交易与日俱增的用户黏性而导致很难真正“用脚投票”。“久而久之,自然会有自律不够的商家,利用用户的这种心理做些手脚。”阿拉木斯分析说。
如今,从网约车、共享单车,到电商购物、社交媒体,平台经济已经成为社会治理中绕不开的话题。与此同时,众多平台对海量用户数据的收集、占有,也引发了社会公众对大数据是否会被滥用的关注。
“仅仅是从经济上判断,数据被企业或者被平台所拥有可能是最有效率的。”中国社会科学院工业经济研究所李晓华研究员认为,零散的数据是没有价值的,只有当这些数据汇聚起来,通过大数据的技术进行分析时才会产生价值。但与此同时,这些平台对数据的占用还可能涉及个人信息泄露、数据权属、数据交易、数据滥用等一系列问题,当数字经济的发展中涉及诸如道德伦理、公平正义等价值判断时,市场可能无法自发加以调整解决,这时候就需要尽快完善数据保护方面的立法。
- ?
企业进入大数据信息采集时代
小老鼠
展开
做网络营销
不论是个人还是公司都想要实现产品的渠道拓展和推广宣传
但绝大多数的企业都不能达成想要的效果
其实原因有很多
一、想要做好网络营销
客户是王道
没有强大的客户群做后盾
网络营销的销量不过是空想罢了
当下客户渠道大多以网络大数据信息采集的方式来获取
如云速数据挖掘
通过输入行业关键字
就能一键采集指定区域的客户信息和联系方式
省时高效
二、通过客户信息
从分考虑分析目标群体的生活轨迹和习惯
来预测客户下一步的消费行为
以正确的时间正确的方式传达产品信息
从而完成营销活动
三、产品文案的策划一定要以客户需求为重点
并且简单易懂、快速吸引客户眼球
才能使转化率达到最佳
- ?
思辨大数据:要采集信息,更要保护信息
Grenaa
展开
一家之言
大数据正是经由对个体信息的搜集以实现对群体利益的最大化,但凡个体从大数据技术中受益便构成了交易,交易的代价即自我信息的出让。
新年伊始,吉利董事长李书福对于微信的言论引起舆论对于微信是否偷窥用户隐私的质疑。对此,微信官方给出回应,不留存任何用户的聊天记录。无独有偶,几日前支付宝年度账单默认勾选“我同意《芝麻服务协议》”同样引发争议。看似无关的事件,经由“大数据”串成偶然中的必然——移动互联网时代,数据的采集使用与隐私保护,我们应如何厘清。
全球进入移动互联网时代后,一切活动都在向这一舞台转移,所有社会活动在网络上有迹可循,由此创生的信息的爆炸,这相对于线下时代带来的进步是颠覆性的。通过对人们网络印记的采集、挖掘、提炼与分析,个体背后的经济文化等宏观现实得以被洞悉。经由描绘用户画像,可以确定对象需求,借以分类施策、精准营销。大数据的这一功能,商业与政治文化价值都是无限的。
不过,要发挥大数据优势,一个重要前提是对数据进行充分的采集、挖掘、整理、甄别、分类、分析等。这意味着,每一个在网络上留下印记即数据的个体都成为被分析的对象,所留下的几乎所有信息都在被采集挖掘分析的范围之内。这就诱发了另一问题:隐私保护。
事实上,只要在网络留下了印记便难言隐私,即使在曾经没有网络、都是线下交易活动的过去也基本如此。到银行办理存款贷款汇款,到房管所办理房子登记过户,到派出所办理户口入户迁移,办理入学入托上大学等都要登记基本信息。只不过,在网络时代个人信息的暴露过程被加速放大了。
需要厘清的是,作为社会成员,个体只要出现社会行为,便意味着部分信息的让渡。从商业角度看,大数据正是经由对个体信息的搜集以实现对群体利益的最大化,但凡个体从大数据技术中受益便构成了交易,交易的代价即自我信息的出让。比如,你有贷款信用需求,金融交易就需要充分使用你的数据信息,即便传统银行贷款等,对用户个人数据信息几乎是挖地三尺。
就此而论,信息的搜集利用本无可厚非,问题的关键在于信息如何使用。譬如使用APP通常需要进行的网站注册,理论而言,注册等同于一种交易。用户注册后,开发者具有搜集、分析数据的权利,并利用信息为客户提供更好的服务,但也同时具有保护信息的责任。
因此,个人信息可否被收集并非关键,而是使用时对信息私密性的保护——即不能泄露给第三方,要替交易客户保护好数据信息。
对于信息保护,笔者以为,各大平台包括传统金融机构可以共享信用等级数据。目的在于形成“有信走遍天下,无信寸步难行”的社会氛围,这才能形成信用的正向激励机制。同时,若第三方使用用户数据,平台需要通过协议约束征得被采集人的同意,并设置约束条款,第三方需要给客户数据信息保密。
总之,对大数据所蕴含的巨大价值需要我们深入挖掘,但在开采过程中如何保护好被采集者的信息安全,个人隐私与数据开发的边界,在探索的路上值得我们不断检视。
□余丰慧(财经评论人)
- ?
2018年最值得推荐的6款大数据采集工具
任寄文
展开
数据肯定是无价的。但分析数据并非易事,因为结果越准确,成本就越高。鉴于数据急剧增长,需要一个过程来提供有意义的信息,最终变成实用的洞察力。
数据挖掘是指这个过程:在庞大数据集当中发现模式,将它转换成有效的信息。该技术利用特定的算法、统计分析、人工智能和数据库系统,从庞大数据集中提取信息,并转换成易于理解的形式。本文介绍了广泛用于大数据行业的6种综合数据挖掘工具。
1. Rapid Miner
Rapid Miner是一个数据科学软件平台,为数据准备、机器学习、深度学习、文本挖掘和预测分析提供一种集成环境。它是领先的数据挖掘开源系统之一。
该程序完全用Java编程语言编写。该程序提供了一个选项,以便用户试用大量可任意嵌套的操作符,这些操作符在XML文件中有详细说明,可由Rapid Miner的图形用户界面来构建。
2. Oracle Data Mining
它是Oracle高级分析数据库的代表。市场领先的公司用它最大限度地发掘数据的潜力,做出准确的预测。该系统配合强大的数据算法,锁定最佳客户。
此外,它可识别异常情况和交叉销售机会,让用户能够根据需要运用不同的预测模型。此外,它以所需的方式定制客户画像。
3. IBM SPSS Modeler
说到大规模项目,IBM SPSS Modeler最适合。在这个建模器中,文本分析及其最先进的可视化界面极具价值。它有助于生成数据挖掘算法,基本上不需要编程。
它可广泛用于异常检测、贝叶斯网络、CARMA、Cox回归以及使用多层感知器和反向传播学习的基本神经网络。
4. KNIME
Konstanz Information Miner是一个开源数据分析平台。你可以迅速在其中部署、扩展和熟悉数据。在商业智能界,KNIME号称是有助于为毫无经验的用户提供预测智能的平台。
此外,数据驱动的创新系统有助于发掘数据潜力。此外,它包括数千个模块和随时可用的示例以及一大批集成的工具和算法。
5. Python
Python是一种免费的开源语言,因易用性常常与R相提并论。与R不同,Python学起来往往很容易上手,易于使用。许多用户发现可以在几分钟内开始构建数据,并进行极其复杂的亲和度分析。
只要你熟悉变量、数据类型、函数、条件语句和循环等基本编程概念,最常见的业务用例数据可视化就很简单。
6.火车采集器
火车采集器由合肥乐维信息技术有限公司开发,是一款专业的网络数据采集/信息挖掘处理软件,通过灵活的配置,可以很轻松迅速地从网页上抓取结构化的文本、图片、文件等资源信息,可编辑筛选处理后选择发布到网站后台,各类文件或其他数据库系统中。
- ?
大数据教程之大数据处理流程
符筮
展开
随着互联网的发展,大数据也在逐渐彰显出自己的优势特点,那么关于大数据的处理流程,你是否了解?
第一,数据采集
定义:利用多种轻型数据库来接收发自客户端的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。
特点和挑战:并发系数高。
使用的产品:MySQL,Oracle,HBase,Redis和 MongoDB等,并且这些产品的特点各不相同。
第二,统计分析
定义:将海量的来自前端的数据快速导入到一个集中的大型分布式数据库 或者分布式存储集群,利用分布式技术来对存储于其内的集中的海量数据 进行普通的查询和分类汇总等,以此满足大多数常见的分析需求。
特点和挑战:导入数据量大,查询涉及的数据量大,查询请求多。
使用的产品:InfoBright,Hadoop(Pig和Hive),YunTable, SAP Hana和Oracle Exadata,除Hadoop以做离线分析为主之外,其他产品可做实时分析。
第三,挖掘数据
定义:基于前面的查询数据进行数据挖掘,来满足高级别的数据分析需求。
特点和挑战:算法复杂,并且计算涉及的数据量和计算量都大。
使用的产品:R,Hadoop Mahout
- ?
好程序员:大数据采集与处理
织工
展开
|本文由好程序员特训营编辑
|作者:好程序员
1. 大数据处理之一:采集
大数据的采集是指利用多个数据库来接收发自客户端(Web、App或者传感器形式等)的 数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。比如,电商会使用传统的关系型数据库MySQL和Oracle等来存储每一笔事务数据,除 此之外,Redis和MongoDB这样的NoSQL数据库也常用于数据的采集。
在大数据的采集过程中,其主要特点和挑战是并发数高,因为同时有可能会有成千上万的用户来进行访问和操作,比如火车票售票网站和淘宝,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署大量数据库才能支撑。并且如何在这些数据库之间进行负载均衡和分片的确是需要深入的思考和设计。
2. 大数据处理之二:导入/预处理
虽然采集端本身会有很多数据库,但是如果要对这些海量数据进行有效的分析,还是应该将这些来自前端的数据导入到一个集中的大型分布式数据库,或者分布式存储集群,并且可以在导入基础上做一些简单的清洗和预处理工作。也有一些用户会在导入时使用来自Twitter的Storm来对数据进行流式计算,来满足部分业务的实时计算需求。
导入与预处理过程的特点和挑战主要是导入的数据量大,每秒钟的导入量经常会达到百兆,甚至千兆级别。
3. 大数据处理之三:统计/分析
统计与分析主要利用分布式数据库,或者分布式计算集群来对存储于其内的海量数据进行普通的分析和分类汇总等,以满足大多数常见的分析需求,在这方面,一些实时性需求会用到EMC的GreenPlum、Oracle的Exadata,以及基于 MySQL的列式存储Infobright等,而一些批处理,或者基于半结构化数据的需求可以使用Hadoop。
统计与分析这部分的主要特点和挑战是分析涉及的数据量大,其对系统资源,特别是I/O会有极大的占用。
4. 大数据处理之四:挖掘
与前面统计和分析过程不同的是,数据挖掘一般没有什么预先设定好的主题,主要是在现有数据上面进行基于各种算法的计算,从而起到预测(Predict)的效果,从而实现一些高级别数据分析的需求。比较典型算法有用于聚类的Kmeans、用于 统计学习的SVM和用于分类的NaiveBayes,主要使用的工具有Hadoop的Mahout等。该过程的特点和挑战主要是用于挖掘的算法很复杂,并 且计算涉及的数据量和计算量都很大,常用数据挖掘算法都以单线程为主。
欢迎关注【“好程序员”百家号】高端IT教育--从平凡到卓越 为梦想而拼搏
- ?
大数据-产品基础模型
梦菲
展开
一、大数据应用思维
【例1】
产品经理给大数据部门提了个需求:我想知道所有用户的标签,比如哪些用户喜欢时尚类型的微博、哪些用户是单身狗等,好给这些人针对性推阿里巴巴的广告,而且很急,下个月新版本就要上线。
大数据部门的程序员们收到需求之后,一分析,数据有好几百TB,一台机器跑要跑7个月(200多天),所以得用分布式计算。于是搞了100台服务器,并把这100台服务器分成两部分,一部分有90台,叫Master,负责划分数据,分配数据处理任务;一部分有10台,叫Worker,负责归并数据块,计算出最终结果。
服务器搭建好了,架构弄好以后,程序员开始分头写程序,一部分负责写数据文件的划分,把文件分成一小块一小块来处理;一部分负责写计算任务调度,就是把划分好的数据文件分配到90台Master服务器中;一部分负责写归并处理程序,部署到剩下的10台Worker服务器,接收那90台服务器传过来的数据,并计算结果;一部分负责写出错检测,检查哪些机器挂了导致计算任务停止了,一旦发现出错了,把计算任务分配到其他正常的服务器上计算。
10台Worker服务器根据1,2,3...10,进行了编号,假设每个人的都有一个微博ID(是数字),按照微博ID的个位数来进行划分,比如我ID是 1001,那我的处理结果会在1号服务器,ID是100213,那么处理结果就在3号服务器。
假设上面的流程都正常,因为机器多了,原本需要200多天的任务,有了100台机器,结果3天就跑完了!得到了这样的微博用户特征(@大师兄[单身概率 88%,科技工作者概率90%,性别男概率100%,本科毕业概率81%,收入水平5000元/月概率 10% ...])。
二、数据处理的流程
大数据的数据处理这件事用一种非技术的角度来看的话,可以按处理顺序分为三个部分,第一个部分是数据采集,第二个部分是数据存储,第三个部分是数据分析,这也是大数据搭建的基本产品模型。
1、数据采集
● 基本原则
全:多种源(客户端、服务端、数据库等),完善的数据源(零售、C端、电商、供应链等)全量而且非抽样
细:Who、When、Where、How、What
数据采集最重要的就是数据源,数据源好,后面的事情都很容易。但如果数据源就有问题或是太差不全之类的,后面有些问题用再复杂的算法可能都解决不了,可能都是很难得到正确的结论。所以数据采集处理流程有两个基本的原则,一个是全,一个是细。
● 全:就是说我们要拿多种数据源,不能说只拿一个客户端的数据源,服务端的数据源没有拿,数据库的数据源没有拿,做分析的时候没有这些数据你可能是搞歪了。大数据里面讲的是全量,而不是抽样,因为数据之间可能有很大差异。比如纵向里,做全国零售数据分析的时候,不能只把四川或者北京的拿来分析,因为它一定代表不了黑龙江、甘肃等地方,所以必须要全量分析全国数据。横向里,我们在分析某个商品的总的销售情况的时候,我们除了分析线下零售数据还有需要C端外送数据和电商数据,因为一个东西可能在公司的多个业务系统上销售。所以对于多个业务系统的公司,需要每个业务系统涉及的数据都要足够全,不能有任何一个系统有缺失。
● 细:其实就是强调多维度,在采集数据的时候尽量把每一个的维度、属性、字段都给它采集过来。比如:像 where、who、how 这些东西给它替补下来,后面分析的时候就跳不出这些能够所选的这个维度,而不是说开始的时候也围着需求。根据这个需求确定了产生某些数据,到了后面真正有一个新的需求来的时候,又要采集新的数据,这个时候整个迭代周期就会慢很多,效率就会差很多,尽量从源头抓的数据去做好采集。
● 数据清洗:在数据采集过程种需要对源数据做清洗处理。其实也是对数据做加工的过程,确保命名约定,编码结构,属性维度等一致性。因为本身的源数据会存在垃圾数据,本身也是杂乱的没有很好的逻辑,数据清洗的过程就是让数据更具逻辑性,更干净有序的存储。
2、数据存储
①、数据建模
数据建模指的是对现实世界各类数据的抽象组织,确定数据库需管辖的范围、数据的组织形式等直至转化成现实的数据库。 将经过系统分析后抽象出来的概念模型转化为物理模型后,在visio或erwin等工具建立数据库实体以及各实体之间关系的过程(实体一般是表)。在软件工程中,数据建模是运用正式的数据建模技术,建立信息系统的数据模型的过程。(百度百科)
数据模型就是对现实世界的一个抽象化的数据的表示。大数据的数据建模则是基于大数据本身的数据量、数据特征、业务需求、还有自身分析重点和目标做的数据模型。我们可以针对分析的需求对数据重新进行解码,它内容可能是一致的,但是我们的组织方式改变了一下。就拿用户行为这块数据来说,就可以对它进行一个抽象,然后重新把它作为一个判断表。数据建模时常常考虑的有两个概念,一个是维度,一个是指标
通常各个业务系统,一般前端做一个请求,然后对请求经过处理,再更新到数据库里面去,数据库里面建了一系列的数据表,数据表之间都是很多的依赖关系。这些表一个业务项发展差不多一年以上它可能就牵扯到几十张甚至上百张数据表,然后把这个表直接提供给业务分析人员去使用,理解起来难度是非常大的。数据建模则可以把这些关系重构,让业务人员更容易理解。
②、数据仓库
● 面向主题:数据仓库是围绕着一些主题,如顾客,供应商,产品,销售等创建的。数据仓库关注决策者的数据建模与分析,排除对决策无用的数据,提供特定简单明确的数据视图。
● 集成:构造数据仓库时,数据来源是多种异构的数据源,使用数据清洗和数据集成技术,确保命名约定,编码结构,属性维度等一致性。
● 伴随时间变化:数据仓库存储从时间维度提供信息,所以每一条数据必须包含时间维度,同时也就需要各个业务系统在建表时加入“创建时间、修改时间、创建人、修改人、是否删除”五个字段
● 非易失:数据仓库不同于普通的业务应用数据,它跟操作环境下的应用数据是分离的,所以它不需要参与事务处理和并发控制。通常它只需要两种数据访问:数据的装入(抽取)和数据访问,不存在数据更新或者数据删除,所以数据修改时需要加入数据修改时间、修改人,数据删除时在数仓标记数据已经删除。
数据仓库在创建的时候需要分库和分表:创建表时根据数据清洗阶段进行分库,根据主题域进行分表。
③、数据集市
数据集市(Data Mart) ,也叫数据市场,数据集市就是满足特定的部门或者用户的需求,按照多维的方式进行存储,包括定义维度、需要计算的指标、维度的层次等,生成面向决策分析需求的数据立方体。数据中心的重点就在于它迎合了专业用户群体的特殊需求,在分析、内容、表现,以及易用方面。数据中心的用户希望数据是由他们熟悉的术语表现的。
用通俗的话说数据仓库是为数据集市提供服务,在数据仓库里,每个数据单元都与特定的时间相关。数据仓库包括原子级别的数据和轻度汇总的数据,是面向主题的、集成的、不可更新的(稳定性)、随时间不断变化(不同时间)的数据集合,用以支持经营管理中的决策。而数据集市就是数据仓库的一个子集,他主要面向部门级业务,并且只面向某个特定的主题。为了解决灵活性与性能之间的矛盾,数据集市就是数据仓库体系结构中增加的一种小型的部门或工作组级别的数据仓库。数据集市存储为特定用户预先计算好的数据,从而满足用户对性能的需求。数据集市可以在一定程度上缓解访问数据仓库的瓶颈。
在数据结构上,数据仓库是面向主题的、集成的数据的集合。而数据集市通常被定义为星型结构或者雪花型数据结构,数据集市一般是由一张事实表和几张维表组成的。
数据集市特点:
● 数据集市的特征包括规模小。
● 有特定的应用。
● 面向部门。
● 由业务部门定义、设计和开发。
● 业务部门管理和维护。
● 能快速实现。
● 购买较便宜。
● 投资快速回收。
● 工具集的紧密集成。
● 提供更详细的、预先存在的、数据仓库的摘要子集。
● 可升级到完整的数据仓库。
3、数据分析
当数据采集回来并存储好以后就可以在这基础上运用这些数据来做数据分析了,对于互联网产品常用的分析方式有四种:
①、多维度分析: 多维事件的分析,对不同维度之间的组合、关系进行分析。
②、漏斗分析:对于电商、订单相关的这种行为的产品来说非常重要,要看不同的渠道转化这些东西,一个用户从做第一步操作到后面每一步操作,可能是一个杂的过程。
③、留存分析:用户来了之后我们希望他不断的来,不断的进行购买,这就是留存。
④、回访分析:回访是留存的一种特别的形式,可以看他一段时间内访问的频次,或者访问的时间段的情况
上面说的四种分析结合起来去使用,对一个产品的数据支撑、数据驱动的这种深度就要比只是看一个宏观的访问量或者活跃用户数就要深入很多。
- ?
三大核心解读大数据信息采集
Toby
展开
对于大数据的理解
大多人还停留在很大的数据这一概念上
其实不然
大数据指的是存在于网络上的海量的信息碎片
通过类似云速数据挖掘这种先进的技术将其采集、整合、
从而发现隐藏于其中的关联信息
下面通过三个核心来解读什么是大数据信息采集
一、大数据营销是将所有营销行为和销售行为数据化
将这些可挖掘、整理的数据作为营销活动的核心部分
贴合需求打造符合市场及消费需求的商业模式、
二、大数据信息采集实现线上线下结合的网络营销时代
线上的营销活动不受时间空间限制
将线上数据与传统模式结合起来
打通数据库实现技术共享
将是未来营销工作的首要重点
三、大数据信息采集实现企业高效转化
大数据营销的核心意在大规模的个性化互动
指的是有针对性的传播内容
更加人性化的服务
而实现这以核心的基础就是大数据信息采集
- ?
干货丨大数据是如何被采集及应用的
堪笑容
展开
尽管“大数据”一词近年来屡遭热捧
但很多人都还不知道什么是大数据
更不知道大数据有甚卵用
这两年,发现“大数据”这个词出现的越来越频繁了
不仅企业,连国家都在部署大数据战略
一番百度了之后
Oh~ emmmmmmmmm~ +_+
还是没搞懂大数据到底是个什么玩意儿
直到有一天
我发现一个秘密
不管我在网上搜索什么
页面都会跳出我要搜索的相关产品或关联事物
然后,我恍然大悟!
所谓大数据,就是算法!
它能够“算”出我们“心中所想”
那么问题来了
大数据技术是如何采集到我们的信息的呢?
数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。在互联网行业快速发展的今天,数据采集已经被广泛应用于互联网及分布式领域,比如摄像头,麦克风,都是数据采集工具。
数据采集系统整合了信号、传感器、激励器、信号调理、数据采集设备和应用软件。在数据大爆炸的互联网时代,数据的类型也是复杂多样的,包括结构化数据、半结构化数据、非结构化数据。结构化最常见,就是具有模式的数据。非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,包括所有格式的办公文档、文本、图片、XML, HTML、各类报表、图像和音频/视频信息等等。大数据采集,是大数据分析的入口,所以是相当重要的一个环节。
我们首先来了解一下数据采集的三大要点:
一、数据采集的三大要点
(1)全面性
数据量足够具有分析价值、数据面足够支撑分析需求。
比如对于“查看商品详情”这一行为,需要采集用户触发时的环境信息、会话、以及背后的用户id,最后需要统计这一行为在某一时段触发的人数、次数、人均次数、活跃比等。
(2)多维性
数据更重要的是能满足分析需求。灵活、快速自定义数据的多种属性和不同类型,从而满足不同的分析目标。
比如“查看商品详情”这一行为,通过埋点,我们才能知道用户查看的商品是什么、价格、类型、商品id等多个属性。从而知道用户看过哪些商品、什么类型的商品被查看的多、某一个商品被查看了多少次。而不仅仅是知道用户进入了商品详情页。
(3)高效性
高效性包含技术执行的高效性、团队内部成员协同的高效性以及数据分析需求和目标实现的高效性。也就是说采集数据一定要明确采集目的,带着问题搜集信息,使信息采集更高效、更有针对性。此外,还要考虑数据的及时性。
不同应用领域的大数据其特点、数据量、用户群体均不相同。不同领域根据数据源的物理性质及数据分析的目标采取不同的数据采集方法。
那么,接下来我们再来了解一下常用的数据采集的方法。
常用的数据采集方法归结为以下三类:传感器、日志文件、网络爬虫。
(1)传感器
传感器通常用于测量物理变量,一般包括声音、温湿度、距离、电流等,将测量值转化为数字信号,传送到数据采集点,让物体有了触觉、味觉和嗅觉等感官,让物体慢慢变得活了起来。
(2)系统日志采集方法
日志文件数据一般由数据源系统产生,用于记录数据源的执行的各种操作活动,比如网络监控的流量管理、金融应用的股票记账和 web 服务器记录的用户访问行为。
很多互联网企业都有自己的海量数据采集工具,多用于系统日志采集,如Hadoop的Chukwa,Cloudera的Flume,Facebook的Scribe等,这些工具均采用分布式架构,能满足每秒数百MB的日志数据采集和传输需求。
(3)Web 爬虫
网络爬虫是指为搜索引擎下载并存储网页的程序,它是搜索引擎和 web 缓存的主要的数据采集方式。通过网络爬虫或网站公开API等方式从网站上获取数据信息。该方法可以将非结构化数据从网页中抽取出来,将其存储为统一的本地数据文件,并以结构化的方式存储。它支持图片、音频、视频等文件或附件的采集,附件与正文可以自动关联。
此外,对于企业生产经营数据上的客户数据,财务数据等保密性要求较高的数据,可以通过与数据技术服务商合作,使用特定系统接口等相关方式采集数据。比如八度云计算的数企BDSaaS,无论是数据采集技术、BI数据分析,还是数据的安全性和保密性,都做的很好。
数据的采集是挖掘数据价值的第一步,当数据量越来越大时,可提取出来的有用数据必然也就更多。只要善用数据化处理平台,便能够保证数据分析结果的有效性,助力企业实现数据驱动。
大数据采集处理
-
1、只需3秒快速实现求和
-
2、如何快速填充序号
-
3、如何自动填充序号(公式法)
-
4、数据条的神奇应用
-
5、多文本快速合并
-
6、查找与替换的不同玩法
-
7、快速定位到指定区域
-
8、数据排序、工资条制作
-
9、快速筛选(模糊、精确筛选)
-
10、快速插入空行
-
11、快速删除空行
-
12.快速跳转到天涯海角
-
13、.同时查看两个Excel文件
-
14、用条件格式扮靓报表
-
15、一键插入Excel图表
-
16、批量处理行高、列宽
-
17、利用拆分功能查看数据
-
18、批量录入相同内容
-
19、工作表快速跳转
-
20、批量录入表格模板(精品课程)
-
21、Excel函数与公式的应用、公式循环引用的查找
-
22、IF函数单条件判断同比增长
-
23、用sum函数 格式相同,连续多表数据汇总
-
24、excel快捷键
-
25、VLOOKUP函数——根据销售员匹配销售额
-
26、统计各部门销售总额
-
27、统计指定条件个数
-
28、怎样输入当前日期和时间、星期数
-
29、销售业绩排名
-
30、Sumproduct函数-万能函数(销售额汇总求和)
-
31、根据销售员,地区,商品名称汇总
-
32、批量替换PPT字体
-
33、给销售额数据批量添加万元单位
-
34、一秒快速核对两列数据
-
35、快速定位到指定单元格或区域
-
36、快速制作双行标题工资条
-
37、给你的表格做个瘦身
-
38、快速打开常用的Excel文件
-
39、快速打开多个Excel文件
-
40、利用创建组—快速隐藏/展开多列数据
-
41、快速制作下拉菜单
-
42、复制粘贴表格,如何保留数据源列宽格式一致?
-
43、两列数据位置互换
-
44、1秒钟扮靓报表——如何实现表格隔行换色
-
45、快速删除重复记录——保留唯一值
-
46、快速向下填充、向右填充,文本或公式
-
47、给Excel文件添加密码
-
48、插入带图片的批注
-
49、输入公式后不计算?
-
50、如何设置单元格缩进
-
51、快速解决Excel表格总显示货币格式
-
52、批量添加万元单位
-
53、你会四舍五入么?
-
54、用RAND函数机选彩票
-
55、冻结首行你会么?
-
56、超链接的高级应用
-
57、IFERROR函数-屏蔽错误值
-
58、批量填充颜色
-
59、录入数据
-
60、快速输入工号
-
61、快速行列转置
-
62、自定义缩放界面
-
63、多个单元格同时输入
-
64、如何计算立方米?
-
65、快速制作双行标题工资条
-
66、输入带方框的√和×
-
67、快速将姓名对齐
-
68、快速输入性别
-
69、按单位职务排序
-
70、自动计算合同到期日期
-
71、计算时间间隔
-
72、日期和时间的拆分
-
73、快速处理不规范的日期格式
-
74、快速填充合并单元格
-
75、效率加倍的快捷键
-
76、快速复制表格和对象
-
77、快速创建工作表副本
-
78、快速复制序列号
-
79、快速显示公式
-
80、多个单元格同时输入
-
81、快速调整显示比例
-
82、快速自动填充
-
83、快速填充(Ctrl+E)
-
84、Ctrl与数字键结合
-
85、快速将多列数据整理为1列
-
86、快速将1列数据拆分为多列
-
87、快速定位公式
-
88、快速录入数据
-
89、快速累计求和
-
90、身份证号码显示为0怎么办?
-
91、快速制作斜线表头
-
92、文本竖向显示
-
93、神奇的监视窗口
-
94、不一样的格式刷
-
95、快速美化图表
-
96、快速生成当前日期
-
97、快速找出循环引用
-
98、快速提取信息
-
99、二维表快速转换为一维表
-
100、快速多表合并