大数据研究常用软件工具与应用场景

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

大数据

如今,大数据日益成为研究行业的重要研究目标。面对其高数据量、多维度与异构化的特点,以及分析方法思路的扩展,传统统计工具已经难以应对。

工欲善其事,必先利其器。众多新的软件分析工具作为深入大数据洞察研究的重要助力, 也成为数据科学家所必须掌握的知识技能。

然而,现实情况的复杂性决定了并不存在解决一切问题的终极工具。实际研究过程中,需要根据实际情况灵活选择最合适的工具(甚至多种工具组合使用),才能更好的完成研究探索。

为此,本文针对研究人员(非技术人员)的实际情况,介绍当前大数据研究涉及的一些主要工具软件(因为相关软件众多,只介绍常用的),并进一步阐述其应用特点和适合的场景,以便于研究人员能有的放矢的学习和使用。

【基础篇】

传统分析/商业统计

Excel、SPSS、SAS 这三者对于研究人员而言并不陌生。

◆ Excel 作为电子表格软件,适合简单统计(分组/求和等)需求,由于其方便好用,功能也能满足很多场景需要,所以实际成为研究人员最常用的软件工具。其缺点在于功能单一,且可处理数据规模小(这一点让很多研究人员尤为头疼)。这两年Excel在大数据方面(如地理可视化和网络关系分析)上也作出了一些增强,但应用能力有限。

SPSS(SPSS Statistics)和SAS作为商业统计软件,提供研究常用的经典统计分析(如回归、方差、因子、多变量分析等)处理。
◆ SPSS 轻量、易于使用,但功能相对较少,适合常规基本统计分析
◆ SAS 功能丰富而强大(包括绘图能力),且支持编程扩展其分析能力,适合复杂与高要求的统计性分析。

上述三个软件在面对大数据环境出现了各种不适,具体不再赘述。但这并不代表其没有使用价值。如果使用传统研究方法论分析大数据时,海量原始数据资源经过前期处理(如降维和统计汇总等)得到的中间研究结果,就很适合使用它们进行进一步研究。

数据挖掘

数据挖掘作为大数据应用的重要领域,在传统统计分析基础上,更强调提供机器学习的方法,关注高维空间下复杂数据关联关系和推演能力。代表是SPSS Modeler(注意不是SPSS Statistics,其前身为Clementine)

大数据

SPSS Modeler 的统计功能相对有限, 主要是提供面向商业挖掘的机器学习算法(决策树、神经元网络、分类、聚类和预测等)的实现。同时,其数据预处理和结果辅助分析方面也相当方便,这一点尤其适合商业环境下的快速挖掘。不过就处理能力而言,实际感觉难以应对亿级以上的数据规模。

另一个商业软件 Matlab 也能提供大量数据挖掘的算法,但其特性更关注科学与工程计算领域。而著名的开源数据挖掘软件Weka,功能较少,且数据预处理和结果分析也比较麻烦,更适合学术界或有数据预处理能力的使用者。

【中级篇】

1、通用大数据可视化分析

近两年来出现了许多面向大数据、具备可视化能力的分析工具,在商业研究领域,TableAU无疑是卓越代表。

大数据

TableAU 的优势主要在于支持多种大数据源/格式,众多的可视化图表类型,加上拖拽式的使用方式,上手快,非常适合研究员使用,能够涵盖大部分分析研究的场景。不过要注意,其并不能提供经典统计和机器学习算法支持, 因此其可以替代Excel, 但不能代替统计和数据挖掘软件。另外,就实际处理速度而言,感觉面对较大数据(实例超过3000万记录)时,并没有官方介绍的那么迅速。

2 、关系分析

关系分析是大数据环境下的一个新的分析热点(比如信息传播图、社交关系网等),其本质计算的是点之间的关联关系。相关工具中,适合数据研究人员的是一些可视化的轻量桌面型工具,最常用的是Gephi。

大数据

Gephi 是免费软件,擅长解决图网络分析的很多需求,其插件众多,功能强且易用。我们经常看到的各种社交关系/传播谱图, 很多都是基于其力导向图(Force directed graph)功能生成。但由于其由java编写,限制了处理性能(感觉处理超过10万节点/边时常陷入假死),如分析百万级节点(如微博热点传播路径)关系时,需先做平滑和剪枝处理。 而要处理更大规模(如亿级以上)的关系网络(如社交网络关系)数据,则需要专门的图关系数据库(如GraphLab/GraphX)来支撑了,其技术要求较高,此处不再介绍。

3、时空数据分析

当前很多软件(包括TableAU)都提供了时空数据的可视化分析功能。但就使用感受来看,其大都只适合较小规模(万级)的可视化展示分析,很少支持不同粒度的快速聚合探索。

如果要分析千万级以上的时空数据,比如新浪微博上亿用户发文的时间与地理分布(从省到街道多级粒度的探索)时,推荐使用 NanoCubes(http://www.nanocubes.net/)。该开源软件可在日常的办公电脑上提供对亿级时空数据的快速展示和多级实时钻取探索分析。下图是对芝加哥犯罪时间地点的分析,网站有更多的实时分析的演示例子

大数据

4、文本/非结构化分析

基于自然语言处理(NLP)的文本分析,在非结构化内容(如互联网/社交媒体/电商评论)大数据的分析方面(甚至调研开放题结果分析)有重要用途。其应用处理涉及分词、特征抽取、情感分析、多主题模型等众多内容。

由于实现难度与领域差异,当前市面上只有一些开源函数包或者云API(如BosonNLP)提供一些基础处理功能,尚未看到适合商业研究分析中文文本的集成化工具软件(如果有谁知道烦请通知我)。在这种情况下,各商业公司(如HCR)主要依靠内部技术实力自主研发适合业务所需的分析功能。

【高级篇】

前面介绍的各种大数据分析工具,可应对的数据都在亿级以下,也以结构化数据为主。当实际面临以下要求: 亿级以上/半实时性处理/非标准化复杂需求 ,通常就需要借助编程(甚至借助于Hadoop/Spark等分布式计算框架)来完成相关的分析。 如果能掌握相关的编程语言能力,那研究员的分析能力将如虎添翼。

当前适合大数据处理的编程语言,包括:

R语言——最适合统计研究背景的人员学习,具有丰富的统计分析功能库以及可视化绘图函数可以直接调用。通过Hadoop-R更可支持处理百亿级别的数据。 相比SAS,其计算能力更强,可解决更复杂更大数据规模的问题。

Python语言——最大的优势是在文本处理以及大数据量处理场景,且易于开发。在相关分析领域,Python代替R的势头越来越明显。

Java语言——通用性编程语言,能力最全面,拥有最多的开源大数据处理资源(统计、机器学习、NLP等等)直接使用。也得到所有分布式计算框架(Hadoop/Spark)的支持。

前面的内容介绍了面向大数据研究的不同工具软件/语言的特点和适用场景。 这些工具能够极大增强研究员在大数据环境下的分析能力,但更重要的是研究员要发挥自身对业务的深入理解,从数据结果中洞察发现有深度的结果,这才是最有价值的。


本文作者:佚名

来源:51CTO

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
2月前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【10月更文挑战第4天】在大数据时代,算法效率至关重要。本文从理论入手,介绍时间复杂度和空间复杂度两个核心概念,并通过冒泡排序和快速排序的Python实现详细分析其复杂度。冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1);快速排序平均时间复杂度为O(n log n),空间复杂度为O(log n)。文章还介绍了算法选择、分而治之及空间换时间等优化策略,帮助你在大数据挑战中游刃有余。
87 4
|
2月前
|
存储 分布式计算 数据可视化
大数据常用技术与工具
【10月更文挑战第16天】
176 4
|
26天前
|
存储 人工智能 安全
《C++ 人工智能模型邂逅云平台:集成之路的策略与要点全解析》
在数字化时代,C++凭借其高性能和资源效率,成为开发人工智能模型的重要工具。云平台则提供强大的计算能力、灵活的存储及便捷的服务部署,为AI模型的应用拓展创造条件。本文探讨了C++与云平台集成的关键策略,包括云平台选型、数据管理、模型部署、性能优化及安全防护,旨在构建高效、稳定的AI应用系统,推动技术革新。
47 13
|
1月前
|
机器学习/深度学习 搜索推荐 大数据
大数据与教育:学生表现分析的工具
【10月更文挑战第31天】在数字化时代,大数据成为改善教育质量的重要工具。本文探讨了大数据在学生表现分析中的应用,介绍学习管理系统、智能评估系统、情感分析技术和学习路径优化等工具,帮助教育者更好地理解学生需求,制定个性化教学策略,提升教学效果。尽管面临数据隐私等挑战,大数据仍为教育创新带来巨大机遇。
|
3月前
|
分布式计算 Hadoop 大数据
28个大数据的高级工具汇总
文章汇总了28种大数据高级工具,并对Hadoop、Spark、Storm等关键技术进行了详细介绍,同时还提供了获取大数据集的多个资源链接。
89 0
|
算法 大数据 数据安全/隐私保护
大数据最核心的关键技术——32个算法,记得收藏!
奥地利符号计算研究所的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。
11874 0
|
Web App开发 数据采集 大数据
大数据与云计算学习:Python网络数据采集
本文将介绍网络数据采集的基本原理: 如何用Python从网络服务器请求信息 如何对服务器的响应进行基本处理 如何以自动化手段与网站进行交互 如何创建具有域名切换、信息收集以及信息存储功能的爬虫 学习路径 爬虫的基本原理 所谓爬虫就是一个自动化数据采集工具,你只要告诉它要采集哪些数据,丢给它一个 URL,就能自动地抓取数据了。
3998 0
|
分布式计算 算法 数据可视化