零基础如何学习大数据?方法是这样的

在我们了解如何学习大数据之前,我们应该回答这个问题:为什么我们需要学习大数据?

 

零基础如何学习大数据?方法是这样的

在新的千年开始之际,世界正在目睹正在发生的变化。机器(前传感器)和人(前社交媒体)产生前所未有的非结构化数据量和速度。我们将这些数据称为大数据。这些数据似乎具有巨大的价值,但需要在数据存储和处理方面进行革命。但是,Oracle,SQL Server,DB2和商业智能软件等传统关系数据库无法解决这个问题。

数据库的历史

1960 - 1995年:IDMS,大型机数据库

专为特定目的而设计,如存储,使用主键检索。这时计算机非常昂贵。

1995-2010:关系数据库

随着处理和存储变得越来越便宜,关系数据库开始进入市场。这些数据库的强大之处在于它们对于商务人士和技术人员来说都很容易理解。它能够处理各种任务,如快速保存,快速检索,快速分析。即使在今天,当数据量有限(高达几TB)时,这些数据库也是最适合的。

 

互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口。为帮助那些往想互联网方向转行想学习,却因为时间不够,资源不足而放弃的人。我自己整理的一份最新的大数据进阶资料和高级开发教程,大数据学习群:199加上【427】最后加上210就可以找到组织学习  欢迎进阶中和进想深入大数据的小伙伴加入。
 

2010年至今

大约在2010年,网络服装(前亚马逊)和社交媒体公司开始拥有大量数据。他们希望通过分析和挖掘见解来使用它。关系数据库无法处理这么多数据。因此,那些有能力投资研发的公司开始为他们的特定用例创建数据库。不久,很多其他公司也希望这样做。因此,出现了对可扩展,廉价且容易获得的硬件的需求。

这些数据库可分为三类:

存储数据库(NoSQL数据库)

使用案例:大型网站,电子商务,社交媒体等。

NoSQL数据库的概念很简单。在这里,我们将数据分为键和值对。每个NoSQL数据库都是商品服务器集群,因此数据基于索引进行存储,主数据库会跟踪数据的位置。通俗地说,如果我们有26个服务器集群,则**从A开始进入服务器1,B从2进入,依此类推。它很棒,很多架构变得流行,一些开源和专有数据库诞生了:

Open Source

Cassandra

MongoDB

Proprietary

Amazon DynamoDB etc等

当您知道**时,NoSQL数据库非常出色,例如您知道产品ID并希望了解产品的整个细节。但是,当您需要搜索产品ID本身时,这些数据库无用。

搜索数据库(NoSQL数据库)

这样做的目的是索引数据库中的每个术语,类似于NoSQL,但这些数据库曾经有一个适合搜索的索引机制。主要用于文本搜索。搜索数据库和键值对数据库之间的区别在于搜索数据库需要更多存储容量。因为每个文本都有多个组合,每个组合都被编入索引。

示例:Solr,Elastic Seach

用于分析的数据库

分析比键值或搜索查询更复杂,因为它不知道您想问什么问题。

例如,让我们考虑一下零售业的一个场景。

当我们将所有产品数据放入搜索数据库时,用户可以在几秒钟内获得简单查询的结果。用户输入产品ID作为**,查询将转到NoSQL数据库(键值对)并快速获取产品的详细信息。

但是,上述两个数据库无法实现复杂的查询,如昨天商店中的整个产品库存清单。您需要一个单独的架构。因此出现了一个新概念 - MapReduce。它将数据分成多个块,这些块被并行处理和分析,然后减少到一个。这种范式解决了很多复杂问题,并且出现了许多数据库。

开源:Hadoop,Spark

专有:Google Big Query,Amazon Athena,

公司正试图根据定价,定价模式进行竞争。

数据分析非常复杂,每经过11年的Hadoop,仍有许多查询无法在几秒钟内返回输出。它需要几分钟甚至几小时,具体取决于查询的重要性。

那么你如何学习和学习什么?

因此,有工作来设计数据结构,*数据库(DBA)和编写分析编程。决定你想去的地方:

存储/检索,搜索或分析

大数据学习之路

核心是,大部分大数据技术都是用Java或Scala编写的。但是别担心,如果你不想用这些语言编写代码,那么你可以选择Python或者R,因为大部分的大数据技术现在都支持Python和R。

因此,你可以从上述任何一种语言开始。 我建议选择Python或Java。

接下来,你需要熟悉云端工作。 这是因为如果你没有在云端处理大数据,没有人会认真对待。 请尝试在AWS,softlayer或任何其他云端供应商上练习小型数据集。 他们大多数都有一个免费的层次,让学生练习。如果你想的话,你可以暂时跳过此步骤,但请务必在进行任何面试之前在云端工作。

接下来,你需要了解一个分布式文件系统。最流行的分布式文件系统就是Hadoop分布式文件系统。在这个阶段你还可以学习一些你发现与你所在领域相关的NoSQL数据库。