在巨大的数据集中进行筛选的*工具是什么?通过和数据骇客的交流,我们知道了他们用于硬核数据分析最喜欢的语言和工具包。以下是小编为你整理的怎么样学习大数据
在这些语言名单中,如果R语言排第二,那就没其他能排*。自1997年以来,作为昂贵的统计软件,如Matlab和SAS的免费替代品,它渐渐风靡全球。
在过去的几年时间中,R语言已经成为了数据科学的宠儿——数据科学现在不仅仅在书呆子一样的统计学家中人尽皆知,而且也为华尔街交易员,生物学家,和硅谷开发者所家喻户晓。各种行业的公司,例如Google,Facebook,美国银行,以及纽约时报都使用R语言,R语言正在商业用途上持续蔓延和扩散。
R语言有着简单而明显的吸引力。使用R语言,只需要短短的几行代码,你就可以在复杂的数据集中筛选,通过先进的建模函数处理数据,以及创建平整的图形来代表数字。它被比喻为是Excel的一个极度活跃版本。
R语言最伟大的资本是已围绕它开发的充满活力的生态系统:R语言社区总是在不断地添加新的软件包和功能到它已经相当丰富的功能集中。据估计,超过200万的人使用R语言,并且最近的一次投票表明,R语言是迄今为止在科学数据中*的语言,被61%的受访者使用(其次是Python,39%)。
此外,它的身影也渐渐出现在了华尔街。以前,银行分析师会全神贯注于Excel文件直到深夜,但现在R语言被越来越多地用于金融建模R,特别是作为一种可视化工具,Niall O’Connor,美国银行的副总裁如是说。 “R语言使我们平凡的表格与众不同,”他说。
R语言的日渐成熟,使得它成为了数据建模的*语言,虽然当企业需要生产大型产品时它的能力会变得有限,也有的人说这是因为它的地位正在被其他语言篡夺。
“R更适合于做一个草图和大概,而不是详细的构建,”Michael Driscoll,Metamarkets的首席执行官说。 “你不会在谷歌的网页排名以及Facebook的朋友推荐算法的核心找到R语言。工程师会用R语言做原型,然后移交给用Java或Python写的模型。”
话说回来,早在2010年,Paul Butler就以R语言打造了全球的Facebook地图而著名,这证明了该语言丰富的可视化功能。尽管他现在已经不像以前那样频繁地使用R语言了。
“R正在一点点地过时,因为它的缓慢和处理大型数据集的笨重,”Butler说。
大数据分析方法
大数据挖掘:定义目标,并分析问题
开始大数据处理前,应该定好处理数据的目标,
然后才能开始数据挖掘。
例如:
统计最近三年的毕业生的各种情况。
那么就应该把毕业生相关的信息都要搜集一遍下来。
大数据挖掘:建立模型,采集数据
可以通过网络爬虫,或者历年的数据资料,
建立对应的数据挖掘模型,然后采集数据,
获取到大量的原始数据。
大数据挖掘:导入并准备数据
在通过工具或者脚本,将原始转换成可以处理的数据,
例如:MySQL,数据文本.
大数据分析算法:机器学习
通过使用机器学习的方法,
处理采集到的数据。
根据具体的问题来定。
这里的方法就特别多。
常见的方法有:
人工神经网络
随机森林树
LMS算法
HIVE(数据仓库)
由facebook开源,最初用于解决海量结构化的日志数据统计问题。
Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。
HQL用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。
Pig(ad-hoc脚本)
由yahoo!开源,设计动机是提供一种基于MapReduce的ad-hoc(计算在query时发生)数据分析工具
Pig定义了一种数据流语言—Pig Latin,它是MapReduce编程的复杂性的抽象,Pig平台包括运行环境和用于分析Hadoop数据集的脚本语言(Pig Latin)。
其编译器将Pig Latin翻译成MapReduce程序序列将脚本转换为MapReduce任务在Hadoop上执行。通常用于进行离线分析。
Sqoop(数据ETL/同步工具)
Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。
Sqoop利用数据库技术描述数据架构,用于在关系数据库、数据仓库和Hadoop之间转移数据。
大数据必备的数据结构与算法:
1. 数据结构和算法概述
2. 数组、链表、队列、栈等线性表
3. 二叉树、BST、AVL 树及二叉树的递归与非递归遍历
4. B+
5. 跳表
6. 图、图的存储、图的遍历
7. 有向图、无向图、懒惰与积极的普利姆算法、克鲁斯卡尔算法及 MST、单源最短路径问题及 Dijkstra 算法
8. 并查集与索引式优先队列、二叉堆
9. 遗传算法初步与 TSP 问题
10. 内部排序(直接插入、选择、希尔、堆排序、快排、归并等)算法与实践中的优化
11. 外部排序与优化(文件编码、数据编码、I/O 方式与 JVM 特点、多线程、多路归并等)
12. 哈希表、Trie 树、倒排索引、分布式索引初步(Map-Reduce)