❶ 大数据的应用领域有哪些
1.了解和定位客户
这是大数据目前最广为人知的应用领域。很多企业热衷于社交媒体数据、浏览器日志、文本挖掘等各类数据集,通过大数据技术创建预测模型,从而更全面地了解客户以及他们的行为、喜好。
利用大数据,美国零售商Target公司甚至能推测出客户何时会有Baby;电信公司可以更好地预测客户流失;沃尔玛可以更准确的预测产品销售情况;汽车保险公司能更真实的了解客户实际驾驶情况。
滑雪场利用大数据来追踪和锁定客户。如果你是一名狂热的滑雪者,想象一下,你会收到最喜欢的度假胜地的邀请;或者收到定制化服务的短信提醒;或者告知你最合适的滑行线路。。。。。。同时提供互动平台(网站、手机APP)记录每天的数据——多少次滑坡,多少次翻越等等,在社交媒体上分享这些信息,与家人和朋友相互评比和竞争。
除此之外,政府竞选活动也引入了大数据分析技术。一些人认为,奥巴马在2012年总统大选中获胜,归功于他们团队的大数据分析能力更加出众。
2.了解和优化业务流程
大数据也越来越多地应用于优化业务流程,比如供应链或配送路径优化。通过定位和识别系统来跟踪货物或运输车辆,并根据实时交通路况数据优化运输路线。
人力资源业务流程也在使用大数据进行优化。Sociometric Solutions公司通过在员工工牌里植入传感器,检测其工作场所及社交活动——员工在哪些工作场所走动,与谁交谈,甚至交流时的语气如何。美国银行在使用中发现呼叫中心表现最好的员工——他们制定了小组轮流休息制度,平均业绩提高了23%。
如果在手机、钥匙、眼镜等随身物品上粘贴RFID标签,万一不小心丢失就能迅速定位它们。假想一下未来可能创造出贴在任何东西上的智能标签。它们能告诉你的不仅是物体在哪里,还可以反馈温度,湿度,运动状态等等。这将打开一个全新的大数据时代,“大数据”领域寻求共性的信息和模式,那么孕育其中的“小数据”着重关注单个产品。
3.提供个性化服务
大数据不仅适用于公司和政府,也适用于我们每个人,比如从智能手表或智能手环等可穿戴设备采集的数据中获益。Jawbone的智能手环可以分析人们的卡路里消耗、活动量和睡眠质量等。Jawbone公司已经能够收集长达60年的睡眠数据,从中分析出一些独到的见解反馈给每个用户。从中受益的还有网络平台“寻找真爱”,大多数婚恋网站都使用大数据分析工具和算法为用户匹配最合适的对象。
4.改善医疗保健和公共卫生
大数据分析的能力可以在几分钟内解码整个DNA序列,有助于我们找到新的治疗方法,更好地理解和预测疾病模式。试想一下,当来自所有智能手表等可穿戴设备的数据,都可以应用于数百万人及其各种疾病时,未来的临床试验将不再局限于小样本,而是包括所有人!
苹果公司的一款健康APP ResearchKit有效将手机变成医学研究设备。通过收集用户的相关数据,可以追踪你一天走了多少步,或者提示你化疗后感觉如何,帕金森病进展如何等问题。研究人员希望这一过程变得更容易、更自动化,吸引更多的参与者,并提高数据的准确度。
大数据技术也开始用于监测早产儿和患病婴儿的身体状况。通过记录和分析每个婴儿的每一次心跳和呼吸模式,提前24小时预测出身体感染的症状,从而及早干预,拯救那些脆弱的随时可能生命危险的婴儿。
更重要的是,大数据分析有助于我们监测和预测流行性或传染性疾病的暴发时期,可以将医疗记录的数据与有些社交媒体的数据结合起来分析。比如,谷歌基于搜索流量预测流感爆发,尽管该预测模型在2014年并未奏效——因为你搜索“流感症状”并不意味着真正生病了,但是这种大数据分析的影响力越来越为人所知。
5.提高体育运动技能
如今大多数顶尖的体育赛事都采用了大数据分析技术。用于网球比赛的IBM SlamTracker工具,通过视频分析跟踪足球落点或者棒球比赛中每个球员的表现。许多优秀的运动队也在训练之外跟踪运动员的营养和睡眠情况。NFL开发了专门的应用平台,帮助所有球队根据球场上的草地状况、天气状况、以及学习期间球员的个人表现做出最佳决策,以减少球员不必要的受伤。
还有一件非常酷的事情是智能瑜伽垫:嵌入在瑜伽垫中的传感器能对你的姿势进行反馈,为你的练习打分,甚至指导你在家如何练习。
6.提升科学研究
大数据带来的无限可能性正在改变科学研究。欧洲核子研究中心(CERN)在全球遍布了150个数据中心,有65,000个处理器,能同时分析30pb的数据量,这样的计算能力影响着很多领域的科学研究。比如政府需要的人口普查数据、自然灾害数据等,变的更容易获取和分析,从而为我们的健康和社会发展创造更多的价值。
7.提升机械设备性能
大数据使机械设备更加智能化、自动化。例如,丰田普锐斯配备了摄像头、全球定位系统以及强大的计算机和传感器,在无人干预的条件下实现自动驾驶。Xcel Energy在科罗拉多州启动了“智能电网”的首批测试,在用户家中安装智能电表,然后登录网站就可实时查看用电情况。“智能电网”还能够预测使用情况,以便电力公司为未来的基础设施需求进行规划,并防止出现电力耗尽的情况。在爱尔兰,杂货连锁店Tescos的仓库员工佩戴专用臂带,追踪货架上的商品分配,甚至预测一项任务的完成时间。
8.强化安全和执法能力
大数据在改善安全和执法方面得到了广泛应用。美国国家安全局(NSA)利用大数据技术,检测和防止网络攻击(挫败恐怖分子的阴谋)。警察运用大数据来抓捕罪犯,预测犯罪活动。信用卡公司使用大数据来检测欺诈交易等等。
2014年2月,芝加哥警察局对大数据生成的“名单”——有可能犯罪的人员,进行通告和探访,目的是提前预防犯罪。
9.改善城市和国家建设
大数据被用于改善我们城市和国家的方方面面。目前很多大城市致力于构建智慧交通。车辆、行人、道路基础设施、公共服务场所都被整合在智慧交通网络中,以提升资源运用的效率,优化城市管理和服务。
加州长滩市正在使用智能水表实时检测非法用水,帮助一些房主减少80%的用水量。洛杉矶利用磁性道路传感器和交通摄像头的数据来控制交通灯信号,从而优化城市的交通流量。据统计目前已经控制了全市4500个交通灯,将交通拥堵状况减少了约16%。
10.金融交易
大数据在金融交易领域应用也比较广泛。大多数股票交易都是通过一定的算法模型进行决策的,如今这些算法的输入会考虑来自社交媒体、新闻网络的数据,以便更全面的做出买卖决策。同时根据客户的需求和愿望,这些算法模型也会随着市场的变化而变化。
❷ 大数据中Hadoop的核心技术是什么
Hadoop核心架构,分为四个模块:
1、Hadoop通用:提供Hadoop模块所需要的Java类库和工具。
2、Hadoop YARN:提供任务调度和集群资源管理功能。
3、Hadoop HDFS:分布式文件系统,提供高吞吐量的应用程序数据访问方式。
4、Hadoop MapRece:大数据离线计算引擎,用于大规模数据集的并行处理。
特点:
Hadoop的高可靠性、高扩展性、高效性、高容错性,是Hadoop的优势所在,在十多年的发展历程当中,Hadoop依然被行业认可,占据着重要的市场地位。
Hadoop在大数据技术框架当中的地位重要,学大数据必学Hadoop,还要对Hadoop核心技术框架掌握扎实才行。
❸ 大数据运算的三种引擎是什么有什么区别
现在流行的开源引擎可不止三个,先罗列5个给你:
1)Hive,披着SQL外衣的Map-Rece。Hive是为方便用户使用Map-Rece而在外面封装了一层SQL,由于Hive采用了SQL,它的问题域比Map-Rece更窄,因为很多问题,SQL表达不出来,比如一些数据挖掘算法,推荐算法、图像识别算法等,这些仍只能通过编写Map-Rece完成。
2) Impala:Google Dremel的开源实现(Apache Drill类似),因为交互式实时计算需求,Cloudera推出了Impala系统,该系统适用于交互式实时处理场景,要求最后产生的数据量一定要少。
3)Shark/Spark:为了提高Map-Rece的计算效率,Berkeley的AMPLab实验室开发了Spark,Spark可看做基于内存的Map-Rece实现,此外,伯克利还在Spark基础上封装了一层SQL,产生了一个新的类似Hive的系统Shark。
4) Stinger Initiative(Tez optimized Hive):Hortonworks开源了一个DAG计算框架Tez,Tez可以理解为Google Pregel的开源实现,该框架可以像Map-Rece一样,可以用来设计DAG应用程序,但需要注意的是,Tez只能运行在YARN上。Tez的一个重要应用是优化Hive和PIG这种典型的DAG应用场景,它通过减少数据读写IO,优化DAG流程使得Hive速度提供了很多倍。
5)Presto:FaceBook于2013年11月份开源了Presto,一个分布式SQL查询引擎,它被设计为用来专门进行高速、实时的数据分析。它支持标准的ANSI SQL,包括复杂查询、聚合(aggregation)、连接(join)和窗口函数(window functions)。Presto设计了一个简单的数据存储的抽象层,来满足在不同数据存储系统(包括HBase、HDFS、Scribe等)之上都可以使用SQL进行查询。
❹ 大数据专业需要用到什么软件啊
1,分步阅读
数据分析报告类:Microsoft Office软件等,如果连excel表格基本的处理操作都不会,连PPT报告都不会做,那我只好说离数据分析的岗位还差的很远。现在的数据呈现不再单单只是表格的形式,而是更多需要以可视化图表去展示你的数据结果,因此数据可视化软件就不能少,BDP个人版、ECharts等这些必备的,就看你自己怎么选了。
2,专业数据分析软件:Office并不是全部,要从在数据分析方面做的比较好,你必须会用(至少要了解)一些比较常用的专业数据分析软件工具,比如SPSS、SAS、Matlab等等,这些软件可以很好地帮助我们完成专业性的算法或模型分析,还有高级的python、R等。
3,数据库:hive、hadoop、impala等数据库相关的知识可以学习;
4,辅助工具:比如思维导图软件(如MindManager、MindNode Pro等)也可以很好地帮助我们整理分析思路。
❺ 数据开发是什么
大数据开发,是运用大数据计算引擎,比如spark来进行数据业务开发。穗樱或者数据平台开发嫌明。大数据环境下的数据开芹族告发就是运用数据平台做一下数据加工。
❻ 大数据分析引擎是什么
这是一个统称,大数据分析,顾名思义,就是通过众多的数据来分析得出有专用的结论,而这些数属据哪里来的呢?通过一种技术手段做成一个系统来收集的,这个系统,就叫做大数据引擎!
我这么说会不会太抽象,举个例子:米多大数据引擎系统,他们家的技术手段就是通过一物一码获得数据,一物一码,就是一件商品贴一个二维码,二维码里有商品的全部信息。每个消费者买了商品后,扫描二维码可以知道商品的真伪、商品生产的历程(溯源)。这时,大数据引擎系统就会收集扫描二维码的用户的信息。而商家也会通过消费者在哪里扫描的二维码可以分析出商品在哪个地点卖的好,哪个地点卖的少,或者这个编号的商品不应该出现在那里(商品防窜)。等等……这些就是大数据分析!而这个系统就成为大数据引擎系统。还是不懂的话可以搜湖北米多科技看看,应该就懂了,望采纳^_^
❼ 转载:阿里巴巴为什么选择Apache Flink
本文主要整理自阿里巴巴计算平台事业部资深技术专家莫问在云栖大会的演讲。
合抱之木,生于毫末
随着人工智能时代的降临,数据量的爆发,在典型的大数据的业务场景下数据业务最通用的做法是:选用批处理的技术处理全量数据,采用流式计算处理实时增量数据。在绝大多数的业务场景之下,用户的业务逻辑在批处理和流处理之中往往是相同的。但是,用户用于批处理和流处理的两套计算引擎是不同的。
因此,用户通常需要写两套代码。毫无疑问,这带来了一些额外的负担和成本。阿里巴巴的商品数据处理就经常需要面对增量和全量两套不同的业务流程问题,所以阿里就在想,我们能不能有一套统一的大数据引擎技术,用户只需要根据自己的业务逻辑开发一套代码。这样在各种不同的场景下,不管是全量数据还是增量数据,亦或者实时处理,一套方案即可全部支持, 这就是阿里选择Flink的背景和初衷 。
目前开源大数据计算引擎有很多选择,流计算如Storm,Samza,Flink,Kafka Stream等,批处理如Spark,Hive,Pig,Flink等。而同时支持流处理和批处理的计算引擎,只有两种选择:一个是Apache Spark,一个是Apache Flink。
从技术,生态等各方面的综合考虑。首先,Spark的技术理念是基于批来模拟流的计算。而Flink则完全相反,它采用的是基于流计算来模拟批计算。
从技术发展方向看,用批来模拟流有一圆轮定的技术局限性,并且这个局限性可能很难突破。而Flink基于流来模拟批,在技术上有更好的扩展性。从长远来看,阿里决定用Flink做一个统一的、通用的大数据引擎作为未来的选型。
Flink是一个低延迟、高吞吐、统一的大数据计算引擎。在阿里巴巴的生产环境中,Flink的计算平台可以实现毫秒级的延迟情况下,每秒钟处理上亿次的消息或者事件。同时Flink提供了一个Exactly-once的一致性语义。保证了数据的正确性。这样就使得Flink大数据引擎可以提供金融级的数据处理能力橘仿信。
Flink在阿里的现状
基于Apache Flink在阿里巴巴搭建的平台于2016年正式上线,并从阿里巴巴的搜索和推荐这两大场景开始实现。目前阿里巴巴所有的业务,包括阿里巴巴所有子公司都采用了基于Flink搭建的实时计算平台。同时Flink计算平台运行在开源的Hadoop集群之上。采用Hadoop的YARN做为资源管理调度,以 HDFS作为数据存储。因此,Flink可以和开源大数据软件Hadoop无缝对接。
目前,这套基于Flink搭建的实时计算平台不仅服务于阿里巴巴集团内部,而且通过阿里云的云产品API向整个开发者生态提供基于Flink的云产品支持。
Flink在阿里巴巴的大规模应用,表现如何?
规模: 一个系统是否成熟,规模是重要指标,Flink最初上线阿里巴巴只有数百台服务器,目前规模已达上万台,此等规模在全球范围内也是屈指可数;
状态数据: 基于Flink,内部积累起来的状态数据已经是PB级别规模;
Events: 如今每天在Flink的计算平台上,处理的数据已经超过万亿条;
PS: 在峰值期间可以承担每秒超过4.72亿次的访问,最典型的应用场景是阿里巴巴双11大屏;
Flink的发展之路
接下来从开源技术的角度,来谈一谈Apache Flink是如何诞生的,它是如何成长的大帆?以及在成长的这个关键的时间点阿里是如何进入的?并对它做出了那些贡献和支持?
Flink诞生于欧洲的一个大数据研究项目StratoSphere。该项目是柏林工业大学的一个研究性项目。早期,Flink是做Batch计算的,但是在2014年,StratoSphere里面的核心成员孵化出Flink,同年将Flink捐赠Apache,并在后来成为Apache的顶级大数据项目,同时Flink计算的主流方向被定位为Streaming,即用流式计算来做所有大数据的计算,这就是Flink技术诞生的背景。
2014年Flink作为主攻流计算的大数据引擎开始在开源大数据行业内崭露头角。区别于Storm,Spark Streaming以及其他流式计算引擎的是:它不仅是一个高吞吐、低延迟的计算引擎,同时还提供很多高级的功能。比如它提供了有状态的计算,支持状态管理,支持强一致性的数据语义以及支持Event Time,WaterMark对消息乱序的处理。
Flink核心概念以及基本理念
Flink最区别于其他流计算引擎的,其实就是状态管理。
什么是状态?例如开发一套流计算的系统或者任务做数据处理,可能经常要对数据进行统计,如Sum,Count,Min,Max,这些值是需要存储的。因为要不断更新,这些值或者变量就可以理解为一种状态。如果数据源是在读取Kafka,RocketMQ,可能要记录读取到什么位置,并记录Offset,这些Offset变量都是要计算的状态。
Flink提供了内置的状态管理,可以把这些状态存储在Flink内部,而不需要把它存储在外部系统。这样做的好处是第一降低了计算引擎对外部系统的依赖以及部署,使运维更加简单;第二,对性能带来了极大的提升:如果通过外部去访问,如Redis,HBase它一定是通过网络及RPC。如果通过Flink内部去访问,它只通过自身的进程去访问这些变量。同时Flink会定期将这些状态做Checkpoint持久化,把Checkpoint存储到一个分布式的持久化系统中,比如HDFS。这样的话,当Flink的任务出现任何故障时,它都会从最近的一次Checkpoint将整个流的状态进行恢复,然后继续运行它的流处理。对用户没有任何数据上的影响。
Flink是如何做到在Checkpoint恢复过程中没有任何数据的丢失和数据的冗余?来保证精准计算的?
这其中原因是Flink利用了一套非常经典的Chandy-Lamport算法,它的核心思想是把这个流计算看成一个流式的拓扑,定期从这个拓扑的头部Source点开始插入特殊的Barries,从上游开始不断的向下游广播这个Barries。每一个节点收到所有的Barries,会将State做一次Snapshot,当每个节点都做完Snapshot之后,整个拓扑就算完整的做完了一次Checkpoint。接下来不管出现任何故障,都会从最近的Checkpoint进行恢复。
Flink利用这套经典的算法,保证了强一致性的语义。这也是Flink与其他无状态流计算引擎的核心区别。
下面介绍Flink是如何解决乱序问题的。比如星球大战的播放顺序,如果按照上映的时间观看,可能会发现故事在跳跃。
在流计算中,与这个例子是非常类似的。所有消息到来的时间,和它真正发生在源头,在线系统Log当中的时间是不一致的。在流处理当中,希望是按消息真正发生在源头的顺序进行处理,不希望是真正到达程序里的时间来处理。Flink提供了Event Time和WaterMark的一些先进技术来解决乱序的问题。使得用户可以有序的处理这个消息。这是Flink一个很重要的特点。
接下来要介绍的是Flink启动时的核心理念和核心概念,这是Flink发展的第一个阶段;第二个阶段时间是2015年和2017年,这个阶段也是Flink发展以及阿里巴巴介入的时间。故事源于2015年年中,我们在搜索事业部的一次调研。当时阿里有自己的批处理技术和流计算技术,有自研的,也有开源的。但是,为了思考下一代大数据引擎的方向以及未来趋势,我们做了很多新技术的调研。
结合大量调研结果,我们最后得出的结论是:解决通用大数据计算需求,批流融合的计算引擎,才是大数据技术的发展方向,并且最终我们选择了Flink。
但2015年的Flink还不够成熟,不管是规模还是稳定性尚未经历实践。最后我们决定在阿里内部建立一个Flink分支,对Flink做大量的修改和完善,让其适应阿里巴巴这种超大规模的业务场景。在这个过程当中,我们团队不仅对Flink在性能和稳定性上做出了很多改进和优化,同时在核心架构和功能上也进行了大量创新和改进,并将其贡献给社区,例如:Flink新的分布式架构,增量Checkpoint机制,基于Credit-based的网络流控机制和Streaming SQL等。
阿里巴巴对Flink社区的贡献
我们举两个设计案例,第一个是阿里巴巴重构了Flink的分布式架构,将Flink的Job调度和资源管理做了一个清晰的分层和解耦。这样做的首要好处是Flink可以原生的跑在各种不同的开源资源管理器上。经过这套分布式架构的改进,Flink可以原生地跑在Hadoop Yarn和Kubernetes这两个最常见的资源管理系统之上。同时将Flink的任务调度从集中式调度改为了分布式调度,这样Flink就可以支持更大规模的集群,以及得到更好的资源隔离。
另一个是实现了增量的Checkpoint机制,因为Flink提供了有状态的计算和定期的Checkpoint机制,如果内部的数据越来越多,不停地做Checkpoint,Checkpoint会越来越大,最后可能导致做不出来。提供了增量的Checkpoint后,Flink会自动地发现哪些数据是增量变化,哪些数据是被修改了。同时只将这些修改的数据进行持久化。这样Checkpoint不会随着时间的运行而越来越难做,整个系统的性能会非常地平稳,这也是我们贡献给社区的一个很重大的特性。
经过2015年到2017年对Flink Streaming的能力完善,Flink社区也逐渐成熟起来。Flink也成为在Streaming领域最主流的计算引擎。因为Flink最早期想做一个流批统一的大数据引擎,2018年已经启动这项工作,为了实现这个目标,阿里巴巴提出了新的统一API架构,统一SQL解决方案,同时流计算的各种功能得到完善后,我们认为批计算也需要各种各样的完善。无论在任务调度层,还是在数据Shuffle层,在容错性,易用性上,都需要完善很多工作。
篇幅原因,下面主要和大家分享两点:
● 统一 API Stack
● 统一 SQL方案
先来看下目前Flink API Stack的一个现状,调研过Flink或者使用过Flink的开发者应该知道。Flink有2套基础的API,一套是DataStream,一套是DataSet。DataStream API是针对流式处理的用户提供,DataSet API是针对批处理用户提供,但是这两套API的执行路径是完全不一样的,甚至需要生成不同的Task去执行。所以这跟得到统一的API是有冲突的,而且这个也是不完善的,不是最终的解法。在Runtime之上首先是要有一个批流统一融合的基础API层,我们希望可以统一API层。
因此,我们在新架构中将采用一个DAG(有限无环图)API,作为一个批流统一的API层。对于这个有限无环图,批计算和流计算不需要泾渭分明的表达出来。只需要让开发者在不同的节点,不同的边上定义不同的属性,来规划数据是流属性还是批属性。整个拓扑是可以融合批流统一的语义表达,整个计算无需区分是流计算还是批计算,只需要表达自己的需求。有了这套API后,Flink的API Stack将得到统一。
除了统一的基础API层和统一的API Stack外,同样在上层统一SQL的解决方案。流和批的SQL,可以认为流计算有数据源,批计算也有数据源,我们可以将这两种源都模拟成数据表。可以认为流数据的数据源是一张不断更新的数据表,对于批处理的数据源可以认为是一张相对静止的表,没有更新的数据表。整个数据处理可以当做SQL的一个Query,最终产生的结果也可以模拟成一个结果表。
对于流计算而言,它的结果表是一张不断更新的结果表。对于批处理而言,它的结果表是相当于一次更新完成的结果表。从整个SOL语义上表达,流和批是可以统一的。此外,不管是流式SQL,还是批处理SQL,都可以用同一个Query来表达复用。这样以来流批都可以用同一个Query优化或者解析。甚至很多流和批的算子都是可以复用的。
Flink的未来方向
首先,阿里巴巴还是要立足于Flink的本质,去做一个全能的统一大数据计算引擎。将它在生态和场景上进行落地。目前Flink已经是一个主流的流计算引擎,很多互联网公司已经达成了共识:Flink是大数据的未来,是最好的流计算引擎。下一步很重要的工作是让Flink在批计算上有所突破。在更多的场景下落地,成为一种主流的批计算引擎。然后进一步在流和批之间进行无缝的切换,流和批的界限越来越模糊。用Flink,在一个计算中,既可以有流计算,又可以有批计算。
第二个方向就是Flink的生态上有更多语言的支持,不仅仅是Java,Scala语言,甚至是机器学习下用的Python,Go语言。未来我们希望能用更多丰富的语言来开发Flink计算的任务,来描述计算逻辑,并和更多的生态进行对接。
最后不得不说AI,因为现在很多大数据计算的需求和数据量都是在支持很火爆的AI场景,所以在Flink流批生态完善的基础上,将继续往上走,完善上层Flink的Machine Learning算法库,同时Flink往上层也会向成熟的机器学习,深度学习去集成。比如可以做Tensorflow On Flink, 让大数据的ETL数据处理和机器学习的Feature计算和特征计算,训练的计算等进行集成,让开发者能够同时享受到多种生态给大家带来的好处。