硅谷速递 | Get大数据架构与误区,拿走10款超好用大数据工具(内附下载链接)
【硅谷速递】每周一为大家速递美国硅谷最精彩的科技文章和学习资料,简约不简单是本栏目的最大特点,3篇短小精悍的文章,助你每周快速精准Get一项最新技术点!把握技术风向标,了解行业应用与实践,就交给“硅谷速递”吧~
速递先知
本期三篇超实用的硅谷前沿技术文章,帮助大家玩转大数据:
- 大数据架构 — 大数据处理的艺术
- 大数据十大常见误区,你中招了吗?
- 玩转10款大数据工具
大数据架构 — 大数据处理的艺术
在任何企业中应用大数据分析绝非易事,它需要强大的大数据架构,从大数据及其分析中获得最佳结果。大数据架构师通过了解需要达到的最终目标,阐明不同路径的优缺点,开始设计路径。这是一项艰巨的任务,但是可以通过正确的计划和适当的工具来实现。
那么,什么时候需要大数据架构?
为了利用大数据,需要一个大数据架构,但并不是每个人在任何时候都需要。大约100 GB的数据不需要任何架构。当需要投资大数据项目并拥有多个数据源时,可以开始使用大数据架构。
重要的问题来了,什么是大数据架构?
数据源层
数据源是支配大数据架构的资源,其体系结构的设计在很大程度上取决于数据源,如:关系数据库,公司服务器和传感器(IoT设备,第三方数据提供商等)。此数据既可以是批处理数据,也可以是实时数据。大数据架构的设计使其能够处理此类大量堆积的数据。
数据摄取层
这是多源异构数据到达大数据旅程的第一步。该层负责对数据进行分类,以使数据平稳地流入体系结构的其他层。该层的主要目标是将数据的无故障传输提供给数据体系结构的其他层。通常,Kafka Streams或REST API用于提取。
存储层
该层位于大数据的接收端,从各种数据源接收数据并以最适当的方式存储。例如,批处理数据通常存储在诸如HDFS之类的分布式文件存储系统中,该系统也能够以不同格式存储大量数据。而结构化数据,只能使用RDBMS进行存储。取决于数据的格式以及我们需要的目的。该层甚至可以根据系统要求更改数据格式。
分析层
使用大数据的唯一目标是从数据中获得商业洞见,从而做出数据驱动的商业决策。为了使用户能够对大数据进行分析,分析层成了大数据体系结构中最重要的层。该层与存储层进行交互以获得有价值的数据指导行为洞见。结构化数据易于处理,非结构化数据则需要一些高级工具的辅助。
批数据处理
由于数据量巨大,因此该体系结构需要一个批处理系统来过滤、汇总和处理数据,以进行高级分析。作为长期运行的批处理作业,涉及从存储层读取数据,进行处理,最后将输出写入新文件。Hadoop是最常用的解决方案。
实时数据处理
实时数据处理是大数据世界中最热门的趋势之一。因此,大数据架构必须包括一个捕获和存储实时数据的强大系统。可以通过简单地将实时数据摄取到数据存储中进行处理来完成。
BI展示层
该层接收最终分析输出,并将其复制到适当的输出系统进行展示。获取大数据解决方案的整个过程包括从多个来源提取数据,重复进行数据处理操作以及将结果绘制到报告或仪表板中,并利用这些报告辅助公司做出以数据驱动的商业决策
面临的调整
利用大数据并非易事 获得大数据解决方案是一项极其复杂的任务,需要大量组件来管理来自多个数据源的数据提取。构建、测试大数据流程并对其进行故障排除是一项艰巨的任务。
大数据技术仍在发展 大数据技术正在发展新的变化,这些变化有助于构建优化的系统。虽然Hive和Pig等Hadoop技术已经稳定,但Spark等新兴技术在每个新版本中都不断引入广泛的更改和功能增强。根据业务需求选择合适的技术是大数据架构的关键。
实施大数据架构带来了很多安全挑战 数据可能会被多个应用程序和平台吸收和使用,安全访问数据则是一项艰巨的任务。在数据泄露随即发生时代,实施强大的安全系统成为保护数据免遭各种盗窃的必要工作。
大数据十大常见误区,你中招了吗?
Tamr的联合创始人,英特尔大数据科学技术中心联合主任迈克尔·斯通布雷克(Michael Stonebraker)博士认为,公司在采用大数据实践时,常会走入一些误区,本文将对十大常见的误区进行简单介绍,一起来看看你是否中招。
1.不迁移上云
组织可能有很多原因不希望进行切换,总可以从以下对话中找到一些借口:
问题:安全性。真相:内部安全性有很多漏洞。云提供了专用的24/7全天候安全保障。
问题:成本。真相:除非当前正在欺骗系统,否则迁移到云将节省大量执行成本。
问题:地理限制。真相:云将为组织打开托管的大门,并远远超出当前的功能范围。
问题:法律限制。真相:监管不一定总能跟上创新的步伐,而只是等待。
问题:CEO反对。真相:。。。
任何反对意见都可以接受,唯独不能接受拒绝上云。
2.不计划引入人工智能/机器学习
人工智能/机器学习的加入,可能会颠覆当前业务处理的方式。人工智能的成本很高,机器学习专家也不会便宜。但是,如果不为持续运营付出代价,将无法在颠覆性目标中获得创新。最重要的是,积极进取的公司,总愿意做自己想做的事情。
3.不拥抱火箭科学家
企业需要创新人才,并且需要为此付出成本。寻求具有能力的员工并且愿意拥抱其所特有的领域专业知识的组织,将最终获得良好的回报。同样,他们会很昂贵,且不适合HR职位的典型描述,但是这种员工将会为企业创造价值。
4.不解决实际数据科学问题
虽然这并不迷人,但是事实上,真正成功的数据科学家将90%的时间用于数据发现、数据集成和数据清理。没有干净的数据,大数据计划将毫无意义,机器学习毫无价值。因此,需要解决的实际数据问题就是:数据质量。
5.相信传统的数据集成技术可以解决问题
传统的数据集成在大数据世界仍可以使用, 最常见是:ETL和MDM,但他们太陈旧且无法扩展。
传统的ETL(提取,转换和加载)
- 耗费大量人力,无法处理如此庞大的数据集
- 难以预先扩展,不能使用20个以上的数据源
MDM主数据管理
- 无法扩展
相反,我们需要的是可以处理大数据的真正的机器学习解决方案,并随组织扩展而发展。
6.相信数据仓库将解决所有问题
数据仓库是用于结构化数据的出色项目,但是现在我们可以访问大量非结构化数据,仅依靠构建良好的仓库会丢失一半的数据洞察。使用的文本、图像和视频等数据,并不能整齐地排列在列和行中。
7.相信Hadoop和Spark可以解决问题
Spark和Hadoop在某些方面非常有用,但他们无法执行数据集成,并且对数据发现支持非常有限。
8.相信数据湖可以解决问题
数据湖非常适合非结构化数据,但当查看数据时,很多棘手的问题也随之而来,如使用的“薪水”与“工资”无法匹配,如与其他国家/地区完全没有业务往来,则将无法匹配(美元与欧元),语义不可用(净额与总工资),甚至粒度也没有对齐(年度与每月)等等。所有数据都是脏的,其中至少有10%是错误数据,且包括有很多必须清除的重复项。如果没有清晰可行的内部解决方案,则数据湖将是一个数据沼泽。
9.将员工外包给Palantir,IBM,Mu Sigma及其他公司
如企业选择外包新计划/项目,同时又保留昂贵的人才来处理电子邮件,这将是非常致命的一个操作。相反,企业可以外包那些既不令人兴奋也不具有创新性的项目,付钱给火箭科学家来进行创新。
10.屈服于创新者的困境
如果一家公司无法彻底改造自己,那么说明它已经进入了成熟期。在此过程中,可以有意选择丢失一些客户并继续经营,短期而言是个痛苦的过程,但从长远来看,留住那些看不到企业创新的客户可能最终会使整个业务陷入困境。
彩蛋:即使是不完美的执行也比自满地等待要好!
玩转10款大数据工具
要实现大数据时代的搜索引擎、机器翻译、有针对性的广告及其他功能,如果不处理TB和PB级数据,则会显得捉襟见肘。而真正将框架、平台、解决方案和高级分析系统联系在一起,则需要掌握一些大数据分析工具。本文将简要介绍十款流行的大数据工具。
1.Hadoop-小小象,大机遇
大多数技术人员都是从Hadoop开始他们的大数据之旅的。
历史背景:
基于Google的概念,软件设计师Doug Cutting开发了一种用于处理大量数据的系统,系统由几个大型模块组成,该项目被命名为Hadoop,就像该项目创始人的孩子的小象玩具一样。
特征:
总体而言,Hadoop是各个子项目相互交错的大杂烩,由几个主要模块组成:
- HDFS:用于处理大规模文件的特殊文件系统
- YARN:一个负责管理计算集群资源、MapReduce及Hadoop内部库模块的任务调度系统
特定用例包括数据搜索、数据分析、数据报告、大规模文件索引(如:日志文件或Web爬网程序数据),以及其他数据处理任务。
Hadoop是一个完美的工具吗?
尽管Hadoop成为了主流,并成为头号大数据工具,但它离解决所有问题的理想解决方案还相差甚远。例如,由于响应时间慢,在进行实时数据分析,通用网络文件系统和非并行数据处理的情况下,Hadoop并不能很好应对而显得捉襟见肘。
因此,仅在Hadoop上下注难以带来纯粹的满足感。
下载链接:https://hadoop.apache.org/releases.html
2.Elasticsearch:平均数据容量之王(Hadoop杀手)
Elastic Stack包括:Elasticsearch(开源搜索引擎),Logstash(数据处理管道),Beats(轻量的数据采集器)和Kibana(可视化分析利器)。其中ElasticSearch是一款强大的开源搜索引擎,与将数据存储在表中的传统关系数据库不同,ElasticSearch将键值存储用于对象,可以运行更复杂的运算,并对PB级数据量进行查询。
特征:
- 如果项目规模不足以实施Hadoop等大型平台,则可以利用基于标准NoSQL解决方案的选项,以应付平均量数据的累积和处理。这样的解决方案包括Elasticsearch。
- 它非常适合处理一定数量的数据(每年2-10 TB,索引中包含20-30亿个文档),并且还与Spark集群很好地集成。
- 在Beats的帮助下,可以收集各种数据:Windows系统日志信息,Linux操作系统日志,Android OS数据,并对来自设备本身如:TCP,HTTP等的流量数据进行分析。
但Elasticsearch并不是分析平台。它在数据摄取和繁重的数据ETL过程中产生的流数据丢失成为其致命的弱点,使其不适合用作数据分析管道。
下载链接:https://www.elastic.co/downloads/elasticsearch
3. Pentaho:将大数据变成“大见解“
Pentaho结合了数据分析处理和数据集成的功能,可以更快地获得结果数据。而且,它与IoT终端的内置集成以及独特的元数据注入功能可加快其从多个数据源采集数据的速度。
特征:
总体而言,Pentaho擅长数据访问和数据集成,以实现有效的数据可视化。使用户能够从源头构建大数据并对其进行流传输以进行准确的分析。Pentaho允许通过轻松访问分析来检查数据,包括图表,可视化和报表。另外,它通过提供独特的功能来支持各种数据源的对接。
下载链接:http://www.pentaho.com/download
4. Talend:更快的开发速度和更少的启动时间
Talend被认为是云和大数据集成软件的下一代领导者。它的核心是一个开放源代码软件集成平台/供应商,提供数据集成和数据管理解决方案。允许进行大数据集成,主数据管理及数据质量管理。
特征:
- 加快大数据项目的价值变现时间
- 简化大数据的ETL和ELT
- Talend大数据平台通过生成本机代码简化MapReduce和Spark的使用
- 通过机器学习和自然语言处理实现更智能的数据质量管理
- 敏捷DevOps加速大数据项目落地
下载链接:https://www.talend.com/download/
5. Lumify:简单而出色的工具
Lumify是一个融合分析和可视化的大数据平台,通过一系列分析选项帮助用户发现数据连接并探索其关联。
特征:
- 它并不是是处理大数据的最佳工具。但许多基本功能值得关注:
- 提供2D和3D图形可视化以及各种自动布局
- 提供多种选项来分析图上实体之间的链接
- 带有针对文本内容、图像和视频的特定摄取处理和界面元素
- 具有空间功能,可将工作组织到一组项目或工作空间中
- 建立在经过验证的可扩展的大数据技术之上
下载链接:http://www.altamiracorp.com/index.php/lumify/
6. Skytree:当机器学习遇见大数据
Skytree是一个大数据分析工具,可让数据科学家更快更准确地建立模型。它提供了易于使用的准确的预测性机器学习模型。
作为一个通用平台,它使大数据专家可以专注于最重要的事情,Skytree称之为“洞见的平均时间”(MTI),并专注于他们擅长的构建和部署分析模型的工作,而不是编码算法。
特征:
- 高度可扩展的算法
- 面向数据科学家的人工智能
- 使数据科学家以可视化方式了解ML决策背后的逻辑
- Skytree通过易于使用的GUI或Java编程
- 模型可解释
- 通过强大的数据准备功能解决预测性问题
下载链接:http://www.skytree.net/
7. Presto:SQL查询引擎
Presto是SQL查询引擎的一种分布式开源机制,用于对各种大小的数据源执行交互式分析查询:从千兆字节到PB级。
特征:
一个Presto查询可以聚合来自多个源的数据,从而进行覆盖整个组织的大数据分析。Presto支持ANSI SQL,这意味着除了JSON,ARRAY,MAP和ROW外,还可以使用标准SQL数据类型,窗口界面功能,统计和近似聚合功能。
与Hadoop相比,Presto有一个缺点:更积极地参与用户自定义功能的开发、构建和部署。
8. RapidMiner:从大数据中提取大价值
RapidMiner是用于预测分析的免费开源系统,支持深度数据分析的完整阶段,包括结果数据的可视化、验证和优化。
特征:
最大优点是,使用RapidMiner不需要了解编程。用户将数据拖放到工作区,便可形成数据处理过程。
下载链接:https://rapidminer.com/get-started/
9. Knime:另一个免费的数据挖掘系统
KNIME无需编程即可提供直观的工作环境。
特征:
- 如果进行文本分析,则此平台支持以下任务:
- 交集:最大程度地减少关键术语到原始形式的变化
- 停用词过滤:删除次要词
- 分割词汇:通过用户指定的规则将文本行分割成较小的单位,例如单词和短语
此外,KNIME还支持深度学习,网络分析,图像处理,社交网络分析等。
然而,RapidMiner对于初学者来说仍然是一个更简单的分析平台,在文字处理方面的功能更广泛。因此,RapidMiner更适合新手,尝试了所有系统来分析大数据的高级专家可以在KNIME中找到一些有趣的东西。
下载链接:https://www.knime.com/knime-big-data-extensions
10. R编程环境:最后的压轴
在大数据分析方面,R语言在统计学家和数据挖掘人员中非常流行,用于开发统计软件和数据分析。R是R统计计算基金会支持的一种编程语言和免费软件环境。
特征:
R通常与JuPyteR堆栈(Julia,Python,R)一起使用,以实现大规模统计分析和数据可视化。R可以在SQL服务器内部运行,最重要的是,R支持Apache Hadoop和Spark,可以轻松地从单台测试机扩展到庞大的Hadoop数据湖。
下载链接:https://www.r-project.org/
最后
优秀的专家从根本上来说是一个懒惰的专家,知道如何更好更快地解决问题。但是,这是否意味着应该选择一种工具并成功地将其用于所有目的?
答案当然是否定的。永远不要期望找到一个完美的工具来管理整个分析流程并将整个任务放在上面。
简要总结以上所有分析,得出以下结果:
- 如果需要简单的聚合并且数据量不大,请使用Elasticseach
- 如果要组建分析团队,并计划提出一些复杂的问题来改善营销或产品决策,那么可能还需要:Hadoop,如果有足够的技术专长;Presto和RapidMiner,如果想获得快速的结果而不用担心基础架构。
留言
评论
${{item['author_name']}} 回复 ${{idToContentMap[item.parent] !== undefined ? idToContentMap[item.parent]['author_name'] : ''}}说 · ${{item.date.slice(0, 10)}} 回复
暂时还没有一条评论.