大数据(Big Data)的热潮越烧越烈,许多处理资料分析与管理的技术因应而出,迎来了巨量资料的时代。要能在这大数据市场中杀出一条血路,以下这 9 个必杀绝技你一定要学起来。
1) Apache Hadoop 黄色小象帮手
基于 Hadoop 处理巨量资料的种种优势,象是解决了档案存放、系统扩张、资料处理及备份等问题,因此 Hadoop 被广泛应用于大数据储存和大数据分析,成为大数据的主流技术。在近几年内,集群运算(clusters)在商用性与非商用性的领域也越来越普遍且应用的相当广泛,2014 年无庸置疑成为了 Hadoop 的丰收年,对于 Hadoop 生态系例如 Flume, Oozie, Hive, Pig, HBase, YARN 等技能的市场需求也逐渐提高。
2) 大数据黑马:Apache Spark
如果 Hadoop 是大数据市场里的老大哥,那 Spark 则是具有超凡潜力的一匹黑马!Spark 是一个用途广泛的集群运算引擎,简单来说就是一个能让原本使用 Hadoop 来处理及分析资料的系统快 10 到 100 倍的好工具。
由于 Hadoop 分析资料时需要将中间产生的数据存在硬盘中,因此会有读写资料的延迟问题;有别于 Hadoop 的 MapReduce 架构,Spark 使用了「存储器内运算技术(In-Memory Computing)」,能在资料尚未写入硬盘时,就在存储器内进行分析运算,号称比原先的 Hadoop 快 100 倍。
去年在资料排序基准竞赛(Sort Benchmark Competition)中,Spark 用 23 分钟完成 100 TB 的资料排序,刷新了原本由 Hadoop 保持的 72 分钟世界记录1。
3) 不只是 SQL:NoSQL
最近几年网络上的资料量开始快速大量成长、资料量与日剧增,为了解决数据库在进行大量资料存取时,所衍生出效能、扩充、维护等问题,近年来业界纷纷舍弃了以结构化查询语言(SQL)为基础的关联式数据库管理系统(RDBMS),改以 NoSQL 数据库来提升效能与扩充弹性。
NoSQL 最早是指「No SQL」,号称不使用 SQL 作为查询语言的数据库系统。但近来则普遍将 NoSQL 视为「Not Only SQL」,也就是「不只是 SQL」的意思,希望结合 SQL 优点并混用关联式数据库和 NoSQL 数据库来达成最佳的储存效果。
在巨量资料所带动的潮流下,各种不同形态的NoSQL数据库如雨后春笋般窜起,其中 MongoDB 是众多 NoSQL 数据库软件中较为人熟知的一种。
4) 机器学习与资料探勘超夯!
在巨量资料中如何摸索出资料所要表达的意涵、提炼出「数据精华」是非常重要的课题,于是「机器学习(Machine Learning)」与「资料探勘(Data Mining)」成为了大数据时代中的重点领域。
机器学习可以从过去收集的资料与经验中,萃取出感兴趣的部份,构造出模型(Model)和规律(Pattern)当作我们参考的基准,对未来进行预测。应用机器学习的方法处理大量数据库的数据则称为「资料探勘」(Data Mining),顾名思义,就好比在地球上从一堆粗糙的石头中进行地物探勘、寻找有价值的矿脉,资料探勘就是从巨量资料中提取出未知的、有价值的潜在信息。
机器学习跟资料探勘到底有多夯?LinkedIn 之前发表的 2014 年「最热门工作技能」排行榜2,资料探勘(Data mining)荣登排行榜第一名这样夯。
5) 统计及量化分析
大数据时代,统计与资料分析是根本中的根本,数学跟统计学则是基础中的基础。数据专家(Data Scientist)或量化分析师 (Quantitative Analyst)的专业包含了统计学、计算机科学和数学,过去这些人才都抢着要进华尔街工作,但多亏了 Big Data 带来的风潮,现在各行各业都在寻找拥有量化分析、统计学背景的工程师、数据专家。
如果数学是你的拿手强项,基本上你已经赢在起跑点了,接下来再学习市面上的一些资料分析软件及程序语言,象是 R、SAS、Matlab、SPSS、Stata 等,具备了以上技能,相信要进大数据一行不成问题。
6) 结构化查询语言 SQL
结构化查询语言(Structured Query Language),简称 SQL,是专门用于关连式数据库的一种查询语言,可以用来定义数据库结构、建立表格、指定栏位型态与长度,也能新增、异动或查询资料。简单来说,SQL 是一种用来从数据库读取与储存资料的计算机语言。
SQL 历经了四十多年的考验仍然在蓬勃发展,虽然 NoSQL (上述第三点)的出现带来了一些影响,但 SQL 仍然主导着市场,并在大数据领域赢得了很多投资与广泛部属。象是 Cloudera 推出了实时查询开源工具 Impala –– 一款用来跑在 Hadoop 架构上的互动 SQL 查询引擎,在这些工具发展下 SQL 在大数据领域中更是历久不衰。
7) 看图说故事:资料视觉化
大数据的重要性与日俱增,不少企业如电子商务、零售业及半导体制造业等,开始广泛运用巨量资料为公司拟定企业策略,不过并不是人人都是数据专家、资料科学家,如果要让主管跟客户们清楚了解资料背后的意义,那倒不如让他们「一目了然」。
资料视觉化(Data Visualization)是关于数据之视觉表现形式的研究,资料视觉化的技术可以帮助不同背景的工程人员沟通、理解,以达良好的设计与分析结果。市面上已经有许多工具、软件为人们提供这方面的需求,象是Tableau、QlikView 等工具就拥有绝佳的视觉化呈现效果,可以不限资料量、资料形式或主题,透过图像化和便捷的操作界面制作出客制化报表,无需撰写程序就能得到分析结果。
8) 基本程序开发能力
市场分析机构 Wanted Analytics 公布的数据3中,具有数据分析背景的计算机程序开发人员职位正在逐年增加中,2014 年最后四个月就增加了 2000 个相关的新职缺,比起 2013 年同期多出了 337%!
因此,基本程序开发能力也是在这大数据市场中生存的必要条件之一,在资料科学界里,Java、C、Python、Scala 都是十分受欢迎的程序语言。
9) 创造力和问题解决能力
巨量资料的型态及发展会不断的演化,无论你的程序开发能力有多好、精通多少项资料分析工具,要在大数据时代中活得好、长得壮,创造力(Creativity)和解决问题能力(Problem Solving)的重要性不可忽视,更是以上提到的工具跟技术都无法取代的必杀技!