如何从0开始学习大数据技术

如何从0开始学习大数据技术呢?本文就本人的经历给大家介绍一下如何开始学习大数据技术,如果你已经开始用自己的方法学习大数据技术,不妨也参考一下本文的方法,如果你是大牛,那可以忽略本文下面的内容了。

1.硬件准备

要想学习大数据技术,硬件是必不可少的,需要一台至少8GB内存的电脑,有条件的家里如果有多台电脑,且自己比较爱折腾的话就更好了。内存从1块钱1MB的时候,到现在1块钱20MB,依然是电脑最缺少的资源,永远都不觉得够。所以如果想要学习大数据技术,先查看自己电脑的内存是多大,少于8GB的话就赶紧考虑增加内存条。能增加的16GB的话更好,那你在学习的时候会感觉操作执行很快。硬盘到不需要特别大,目前主流的500GB就够用了。

2.软件准备

硬件准备好后,接下来就可以开始进行软件的安装了。如果你对虚拟机VMware或者VirtualBox比较熟悉,那么可以跳过该章节了。

大数据相关的组件一般都是在Linux操作系统下开发,编译的,所以要想学习大数据技术,必须先安装这些组件,而这些组件又最好安装在Linux操作系统上,但是我们个人使用的电脑很少会装Linux操作系统,即使安装了Linux操作系统,个人一般又很少有三台电脑来搭建机器的。为什么要三台呢?因为大数据的技术hdfs文件系统最少需要3个结点,也就是需要3台服务器。这个时候怎么办呢?幸好我们有虚拟机软件可以在个人电脑上模拟出三台服务器,从而能够在个人电脑上搭建大数据集群。有人说,大数据组件没有单机版吗?有,而且在windows操作系统下也能够运行,但是既然要学习大数据技术,那么最好还是能够模拟一个和将来在企业中使用的比较类似的环境。

如何在虚拟机软件中安装Linux操作系统呢?这篇文章详细介绍了如何在VMware上新建一个虚拟机:《在VMware上安装CentOS7教程(一)

虚拟机新建完毕之后,我们就可以开始安装Linux操作系统,下面这篇文章介绍了如何在新建的虚拟机上通过iso镜像安装Linux操作系统:《在VMware上安装CentOS7教程(二)

安装完一台虚拟机之后,我们可以将这台虚拟机再复制两份,这样我们就在VMware虚拟机上模拟了3台服务器,就可以搭建具有3个结点的大数据集群了。

3.安装CDH

CDH是Cloudera’s Distribution Including Apache Hadoop的简称,是基于稳定版本的Hadoop组件进行编译的,其发布的Clouder Manager(简称CM)是一套可以在Web页面安装、修改、管理大数据组件的系统,它简化了大数据平台的安装。

如果不使用CM来进行大数据组件的安装,对于一个初学者来说,以集群方式来安装Hadoop的组件是比较耗费时间的。笔者刚开始学习大数据技术的时候就是从开始安装Hadoop组件开始的,安装一个hadoop顺利的话差不多需要1到2天的时间,如果不顺利的话需要查找各种问题的原因,耗费的时间就更长了。更何况还有其他的组件如Hive、Hbase、Spark,即使有文档进行参考的话,安装下来也需要一两周的时间,如果不顺利的话花费的时间就更长了。使用CM的话,基本上在一天之内就可以大家一套Hadoop集群,包括常用的Hadoop、Hive、Hbase、Spark、Hue、Impala等大数据组件,给学习大数据技术带来极大的方便。而且CM安装后的集群,可以脱离CM单独运行,也就是说可以CM系统停掉,而集群还可以正常运行。

如何用CM来安装大数据集群?下面三篇文章详细介绍了其安装步骤:

Cloudera Manager 5.15.2离线安装笔记(一)

Cloudera Manager 5.15.2离线安装笔记(二)

Cloudera Manager 5.15.2离线安装笔记(三)

按照上面三篇文章的介绍的步骤我们安装好了CDH集群,下面我们就要可以开始选择要学习的组件了。

4.Hive

对于有一定SQL经验的童鞋来说,从Hive入手是最好的选择。Hive诞生于FaceBook,它最初就是为方便FaceBook的数据分析人员而建立的。FaceBook的数据分析人员大多了解SQL的写法,但是如果要用MapReduce来实现同样的分析效果比如多表关联,其学习和开发成本都非常高。所以FaceBook的牛人们就开发了一个组件可以将SQL语句转换为MapReduce,极大的方便了这些数据分析人员。

CDH集群搭建好之后,只需要选择安装hive组件就可以使用了,如何使用hive组件,就需要从简单到复杂。hive基础内容包括:

1.创建数据库:Hive基础之创建数据库

2.创建表:Hive基础之创建表

3.数据类型:Hive基础之数据类型

4.表操作:Hive基础之表操作

5.管理表和外部表:Hive基础之管理表和外部表

6.分区表:Hive基础之分区表

7.导入(加载)数据:Hive基础之导入数据

8.导出数据:Hive基础之导出数据

9.基础查询:Hive基础之基础查询

10.高阶查询:Hive基础之高阶查询

11.导入导出:Hive基础之导入导出

12.排序查询:Hive基础之排序查询

13.UDF编程:Hive基础之UDF编程

hive高阶的内容包括数据压缩,存储格式,查询优化,hive调优等。

这些内容都需要自己在CDH集群中一个一个实际执行一遍,才能掌握这些hive的用法。

5.大数据其他组件

Hadoop是目前大数据的事实标准,hadoop生态圈还有很多的组件,每个组件都有其特定的应用场景,不必每个组件都要学习,可以挑选自己感兴趣的组件进行学习,或者等实际用到的时候再学习也可以。常见的组件介绍如下:

HBase:分布式的列式存储数据库,适用于存储非结构化的数据

Spark:专为大规模数据处理而设计的快速通用的计算引擎,它是hadoop生态圈中的一个组件,不会取代hadoop,在某些场合下可以替代MapReduce执行分布式的运算。

Sqoop:主要用于在Hadoop(Hive)与传统的数据库(oracle、mysql、postgresql…)间进行数据的传递,可以将关系型数据库中的数据导入到hdfs中,反之亦然

Flume:Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统

Oozie:用于Hadoop平台的一种工作流调度引擎,它可以以工作流的形式调用和分配集群中的计算任务

Storm:一个分布式实时大数据处理系统,它是一个流数据框架,具有最高的摄取率。一些实时计算的场景会用到

还有一些其他的组件如Impala、kudu、hue、Kafka、Solr等建议在使用的时候再考虑进行学习。

更多有关大数据的内容请关注微信公众号:大数据与人工智能初学者
扫描下面的二维码即可关注:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xjjdlut/article/details/87951368