导航:首页 > 网络数据 > hadoop大数据零基础

hadoop大数据零基础

发布时间:2023-02-04 08:31:28

『壹』 零基础学习 Hadoop 该如何下手

想学习Hadoop,可是苦于自己没有任何的基础,不知道该如何下手,也不知道自己能不能学会。其实零基础学习hadoop,没有想象的那么困难。现在我把自己的学习思路整理一下,希望对大家有帮助。
怎么才能学好Hadoop,进入云的世界,这里给几点建议:
1.打好你的java基础,C我就不说了,那是基本功。
2.详细研究,理解一下现在大型网站包括Sina,腾讯网(门户),Weibo,天猫,京东(电商)的架构与实现,先从自己的角度去理解,然后去跟实际情况做比对,提升自己对数据和技术的敏感程度。在这个阶段,如果能分门别类的规划出不同类型网站的需求和使用的特定方向的技术,对“云”和“大数据”的理解就更加透彻而非表层停留。
3.科班的同学,在学校的以基础为根基,在公司的以业务为导向,这样的技术才不盲目,这样的技术才脚踏实地。对很多人来说,技术都不是一生的职业导向,那么,提升自己的眼界,站在更高的角度思考问题就显得尤为重要,从自己,到团队,公司,再到整个业界,眼界宽广了,技术也就是你的左膀右臂。
Hadoop分为两个大块:HDFS和MapRece。
HDFS - Hadoop Distributed FileSystem。这个概念很好,但是其实我不觉得很实用。但是如果你之后要往Non SQL方面深入的话这个还是很重要,HDFS是HBASE的基础,Hbase又可以延伸到Big Table,DynamoDB,Mango等。HDFS概念不难,Hadoop The Definitive Guide里面讲的很清楚,看书就好。
MapRece -前面说最好看英文版,因为不管中文怎么翻译,Map,Rece都是没办法像读英文那样容易理解的。这里面有个YARN的概念,是最最最重要的。MapRece是管数据怎么流动的,YARN是管集群中的资源怎么分配的。除了YARN以外,MapRece还有几个很重要的概念,比如Partition, combine, shuffle, sort,都在书里很小的位置,但是都对理解整个MapRece非常有帮助。
关于Hadoop的使用方式:
感觉现在各个公司使用Hadoop的方式都不一样,主要我觉得有两种吧。
第一种是long running cluster形式,比如Yahoo,不要小看这个好像已经没什么存在感的公司,Yahoo可是Hadoop的元老之一。这种就是建立一个Data Center,然后有几个上千Node的Hadoop Cluster一直在运行。比较早期进入Big Data领域的公司一般都在使用或者使用过这种方式。
另一种是只使用MapRece类型。毕竟现在是Cloud时代,比如AWS的Elastic MapRece。这种是把数据存在别的更便宜的地方,比如s3,自己的data center, sql database等等,需要分析数据的时候开启一个Hadoop Cluster,Hive/Pig/Spark/Presto/Java分析完了就关掉。不用自己做Admin的工作,方便简洁。
所以个人如果要学Hadoop的话我也建议第二种,AWS有免费试用时间,可以在这上面学习。最重要的是你可以尝试各种不同的配置对于任务的影响,比如不同的版本,不同的container size,memory大小等等,这对于学习Spark非常有帮助。
我直接是白手起家搞hadoop的,没有看权威指南,不懂就google之。我开始也没研究源代码,我先研究Hadoop是怎么跑起来的,怎么工作的。然后过了一段时间,我去看《Hadoop权威指南》,和实践相印证,上手很快。Hadoop这个课题太大,人家花了几年时间研究出来的,你想搞个毕设就想剖析清楚,这个有点不现实。
我的建议是,只研究hadoop的一到两个模块就行了。在这几个中间选一两个研究就可以了。
目前炒的很热,可以说是“如日中天”,好像不会Hadoop、不知道MapRece就不是搞大规模数据处理似的;貌似数据库的一些人不喜欢Hadoop。
随着互联网或者数据库数据量的不断增大,分布式真的可以替代数据中心吗?这个值得考虑,毕竟框架是Google提出来的,提出时势必会考虑google自身的技术和经济能力,试问当下有几个公司有google的实力?
有人说过(具体名字忘了),在中国,云计算就是忽悠,是炒作;也有人说,云计算是必然的发展趋势,毕竟好多公司都在这么玩。在Copy to China的年代,云计算到底是什么,好像很难说清楚吧?
结论:当下很火,找工作绝对不成问题,看这种形式,似乎也是未来发展的方向;但是这种行业预测的问题,大佬们都经常犯错,我们没到那个级别,还跟着瞎预测啥啊,好好练好内功,这才是关键。

『贰』 零基础应该如何学习Hadoop

关于Hadoop,首先我们需要了解Hadoop 1.0、Hadoop 2.0、MapRece、HDFS、NameNode、DataNode、JobTracker、TaskTracker、Yarn、ResourceManager、NodeManager。并且还要自己学会如何搭建Hadoop,先让它跑起来。(建议先使用安装包命令行安装,不要使用管理工具安装。现在都用Hadoop 2.0)

HDFS目录操作命令;上传、下载文件命令;提交运行MapRece示例程序;打开Hadoop WEB界面,查看Job运行状态,查看Job运行日志。知道Hadoop的系统日志在哪里。以上完成之后,就应该去了解他们各个的原理了。例如:MapRece:如何分而治之;HDFS:数据到底在哪里,究竟什么才是副本;Yarn到底是什么,它能干什么;NameNode到底在干些什么;Resource Manager到底在干些什么;

其次,我们可以自己写一个(照抄也行)wordCount程序,打包并提交到Hadoop运行。你不会Java、Shell、Python都可以,有个东西叫Hadoop Streaming。如果你认真完成了以上几步,恭喜你,你的一只脚已经进来了。

再其次,一定要学习SQL,它会对你的工作有很大的帮助。就像是你写(或者抄)的WordCount一共有几行代码,但是你用SQL就非常简单了,例如:SELECT word,COUNT(1) FROM wordcount GROUP BY word;这便是SQL的魅力,编程需要几十行,甚至上百行代码,而SQL一行搞定;使用SQL处理分析Hadoop上的数据,方便、高效、易上手、更是趋势。不论是离线计算还是实时计算,越来越多的大数据处理框架都在积极提供SQL接口。另外就是SQL On Hadoop之Hive于大数据而言一定要学习的。

最后,学会Hive的基本命令:创建、删除表;加载数据到表;下载Hive表的数据;MapRece的原理(还是那个经典的题目,一个10G大小的文件,给定1G大小的内存,如何使用Java程序统计出现次数最多的10个单词及次数);HDFS读写数据的流程;向HDFS中PUT数据;从HDFS中下载数据;自己会写简单的MapRece程序,运行出现问题,知道在哪里查看日志;会写简单的Select、Where、group by等SQL语句;Hive SQL转换成MapRece的大致流程;Hive中常见的语句:创建表、删除表、往表中加载数据、分区、将表中数据下载到本地。

关于零基础应该如何学习Hadoop,青藤小编就和您分享到这里了。如果您对大数据工程有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于数据分析师、大数据工程师的技巧及素材等内容,可以点击本站的其他文章进行学习。

『叁』 大数据:Hadoop入门

什么是大数据:
(1.)大数据是指在一定时间内无法用常规软件对其内容进行抓取,管理和处理的数据集合,简而言之就是数据量非常大,大到无法用常规工具进行处理,如关系型数据库,数据仓库等。这里“大”是一个什么量级呢?如在阿里巴巴每天处理数据达到20PB(即20971520GB).
2.大数据的特点:
(1.)体量巨大。按目前的发展趋势来看,大数据的体量已经到达PB级甚至EB级。
(2.)大数据的数据类型多样,以非结构化数据为主,如网络杂志,音频,视屏,图片,地理位置信息,交易数据,社交数据等。
(3.)价值密度低。有价值的数据仅占到总数据的一小部分。比如一段视屏中,仅有几秒的信息是有价值的。
(4.)产生和要求处理速度快。这是大数据区与传统数据挖掘最显著的特征。
3.除此之外还有其他处理系统可以处理大数据。
Hadoop (开源)
Spark(开源)
Storm(开源)
MongoDB(开源)
IBM PureDate(商用)
Oracle Exadata(商用)
SAP Hana(商用)
Teradata AsterData(商用)
EMC GreenPlum(商用)
HP Vertica(商用)
注:这里我们只介绍Hadoop。
二:Hadoop体系结构
Hadoop来源:
Hadoop源于Google在2003到2004年公布的关于GFS(Google File System),MapRece和BigTable的三篇论文,创始人Doug Cutting。Hadoop现在是Apache基金会顶级项目,“
Hadoop”一个虚构的名字。由Doug Cutting的孩子为其黄色玩具大象所命名。
Hadoop的核心:
(1.)HDFS和MapRece是Hadoop的两大核心。通过HDFS来实现对分布式储存的底层支持,达到高速并行读写与大容量的储存扩展。
(2.)通过MapRece实现对分布式任务进行处理程序支持,保证高速分区处理数据。
3.Hadoop子项目:
(1.)HDFS:分布式文件系统,整个Hadoop体系的基石。
(2.)MapRece/YARN:并行编程模型。YARN是第二代的MapRece框架,从Hadoop 0.23.01版本后,MapRece被重构,通常也称为MapRece V2,老MapRece也称为 MapRece V1。
(3.)Hive:建立在Hadoop上的数据仓库,提供类似SQL语音的查询方式,查询Hadoop中的数据,
(5.)HBase:全称Hadoop Database,Hadoop的分布式的,面向列的数据库,来源于Google的关于BigTable的论文,主要用于随机访问,实时读写的大数据。
(6.)ZooKeeper:是一个为分布式应用所设计的协调服务,主要为用户提供同步,配置管理,分组和命名等服务,减轻分布式应用程序所承担的协调任务。
还有其它特别多其它项目这里不做一一解释了。
三:安装Hadoop运行环境
用户创建:
(1.)创建Hadoop用户组,输入命令:
groupadd hadoop
(2.)创建hser用户,输入命令:
useradd –p hadoop hser
(3.)设置hser的密码,输入命令:
passwd hser
按提示输入两次密码
(4.)为hser用户添加权限,输入命令:
#修改权限
chmod 777 /etc/sudoers
#编辑sudoers
Gedit /etc/sudoers
#还原默认权限
chmod 440 /etc/sudoers
先修改sudoers 文件权限,并在文本编辑窗口中查找到行“root ALL=(ALL)”,紧跟后面更新加行“hser ALL=(ALL) ALL”,将hser添加到sudoers。添加完成后切记还原默认权限,否则系统将不允许使用sudo命令。
(5.)设置好后重启虚拟机,输入命令:
Sudo reboot
重启后切换到hser用户登录
安装JDK
(1.)下载jdk-7u67-linux-x64.rpm,并进入下载目录。
(2.)运行安装命令:
Sudo rpm –ivh jdk-7u67-linux-x64.rpm
完成后查看安装路径,输入命令:
Rpm –qa jdk –l
记住该路径,
(3.)配置环境变量,输入命令:
Sudo gedit /etc/profile
打开profile文件在文件最下面加入如下内容
export JAVA_HOME=/usr/java/jdk.7.0.67
export CLASSPATH=$ JAVA_HOME/lib:$ CLASSPATH
export PATH=$ JAVA_HOME/bin:$PATH
保存后关闭文件,然后输入命令使环境变量生效:
Source /etc/profile
(4.)验证JDK,输入命令:
Java –version
若出现正确的版本则安装成功。
配置本机SSH免密码登录:
(1.)使用ssh-keygen 生成私钥与公钥文件,输入命令:
ssh-keygen –t rsa
(2.)私钥留在本机,公钥发给其它主机(现在是localhost)。输入命令:
ssh--id localhost
(3.)使用公钥来登录输入命令:
ssh localhost
配置其它主机SSH免密登录
(1.)克隆两次。在VMware左侧栏中选中虚拟机右击,在弹出的快捷键菜单中选中管理---克隆命令。在克隆类型时选中“创建完整克隆”,单击“下一步”,按钮直到完成。
(2.)分别启动并进入三台虚拟机,使用ifconfig查询个主机IP地址。
(3.)修改每台主机的hostname及hosts文件。
步骤1:修改hostname,分别在各主机中输入命令。
Sudo gedit /etc/sysconfig/network
步骤2:修改hosts文件:
sudo gedit /etc/hosts
步骤3:修改三台虚拟机的IP
第一台对应node1虚拟机的IP:192.168.1.130
第二台对应node2虚拟机的IP:192.168.1.131
第三台对应node3虚拟机的IP:192.168.1.132
(4.)由于已经在node1上生成过密钥对,所有现在只要在node1上输入命令:
ssh--id node2
ssh--id node3
这样就可以将node1的公钥发布到node2,node3。
(5.)测试SSH,在node1上输入命令:
ssh node2
#退出登录
exit
ssh node3
exit
四:Hadoop完全分布式安装
1. Hadoop有三种运行方式:
(1.)单机模式:无须配置,Hadoop被视为一个非分布式模式运行的独立Java进程
(2.)伪分布式:只有一个节点的集群,这个节点即是Master(主节点,主服务器)也是Slave(从节点,从服务器),可在此单节点上以不同的java进程模拟分布式中的各类节点
(3.)完全分布式:对于Hadoop,不同的系统会有不同的节点划分方式。
2.安装Hadoop
(1.)获取Hadoop压缩包hadoop-2.6.0.tar.gz,下载后可以使用VMWare Tools通过共享文件夹,或者使用Xftp工具传到node1。进入node1 将压缩包解压到/home/hser目录下,输入命令: #进入HOME目录即:“/home/hser”
cd ~
tar –zxvf hadoop-2.6.0.tar.gz
(2.)重命名hadoop输入命令:
mv hadoop-2.6.0 hadoop
(3.)配置Hadoop环境变量,输入命令:
Sudo gedit /etc/profile
将以下脚本加到profile内:
#hadoop
export HADOOP_HOME=/home/hser/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
保存关闭,最后输入命令使配置生效
source /etc/profile
注:node2,和node3都要按照以上配置进行配置。
3.配置Hadoop
(1.)hadoop-env.sh文件用于指定JDK路径。输入命令:
[hser@node1 ~]$ cd ~/hadoop/etc/hadoop
[hser@node1 hadoop]$ gedit hadoop-env.sh
然后增加如下内容指定jDK路径。
export JAVA_HOME=/usr/java/jdk1.7.0_67
(2.)打开指定JDK路径,输入命令:
export JAVA_HOME=/usr/java/jdk1.7.0_67
(4.)core-site.xml:该文件是Hadoop全局配置,打开并在元素中增加配置属性如下:

fs.defaultFs hdfs://node1:9000 hadoop.tmp.dir file:/home/hser/hadoop/tmp 这里给出了两个常用的配置属性,fs.defaultFS表示客户端连接HDFS时,默认路径前缀,9000是HDFS工作的端口。Hadoop.tmp.dir如不指定会保存到系统的默认临时文件目录/tmp中。 (5.)hdfs-site.xml:该文件是hdfs的配置。打开并在元素中增加配置属性。 (6.)mapred-site.xml:该文件是MapRece的配置,可从模板文件mapred-site.xml.template中复制打开并在元素中增加配置。 (7.)yarn-site.xml:如果在mapred-site.xml配置了使用YARN框架,那么YARN框架就使用此文件中的配置,打开并在元素中增加配置属性。 (8.)复制这七个命令到node2,node3。输入命令如下: scp –r /home/hser/hadoop/etc/hadoop/ hser@node2:/home/hser/hadoop/etc/ scp –r /home/hser/hadoop/etc/hadoop/ hser@node3:/home/hser/hadoop/etc/ 4.验证: 下面验证hadoop是否正确 (1.)在Master主机(node1)上格式化NameNode。输入命令: [hser@node1 ~]$ cd ~/hadoop [hser@node1 hadoop]$ bin/hdfs namenode –format (2)关闭node1,node2 ,node3,系统防火墙并重启虚拟机。输入命令: service iptables stop sudo chkconfig iptables off reboot (3.)输入以下启动HDFS: [hser@node1 ~]$ cd ~/hadoop (4.)启动所有 [hser@node1 hadoop]$ sbin/start-all.sh (5.)查看集群状态: [hser@node1 hadoop]$ bin/hdfs dfsadmin –report (6.)在浏览器中查看hdfs运行状态,网址:http://node1:50070 (7.)停止Hadoop。输入命令: [hser@node1 hadoop]$ sbin/stop-all.sh 五:Hadoop相关的shell操作 (1.)在操作系统中/home/hser/file目录下创建file1.txt,file2.txt可使用图形界面创建。 file1.txt输入内容: Hello World hi HADOOP file2.txt输入内容 Hello World hi CHIAN (2.)启动hdfs后创建目录/input2 [hser@node1 hadoop]$ bin/hadoop fs –mkdir /input2 (3.)将file1.txt.file2.txt保存到hdfs中: [hser@node1 hadoop]$ bin/hadoop fs –put -/file/file*.txt /input2/ (4.)[hser@node1 hadoop]$ bin/hadoop fs –ls /input2

『肆』 零基础应该如何学习大数据

首先,学习大数据我们就要认识大数据,大数据(big data),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。 大数据的4V特点:Volume(大量)、Velocity(高速)、Variety(多样)、Veracity(真实性)。

其次,学习有关大数据课程的内容,第一阶段:Java语言基础(只只需要学习Java的标准版JavaSE就可以了,做大数据不需要很深的Java 技术,当然Java怎么连接数据库还是要知道);

第二阶段:Linux精讲(因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑);

第三阶段:Hadoop生态系统(这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapRece和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapRece是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。)

第四阶段:strom实时开发(torm是一个免费并开源的分布式实时计算系统。利用Storm可以很容易做到可靠地处理无限的数据流,像Hadoop批量处理大数据一样,Storm可以实时处理数据。Storm简单,可以使用任何编程语言。)

第五阶段:Spark生态体系(它是用来弥补基于MapRece处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。);

第六阶段:大数据项目实战(大数据实战项目可以帮助大家对大数据所学知识更加深刻的了解、认识,提高大数据实践技术)。

关于零基础应该如何学习大数据,青藤小编就和您分享到这里了。如果您对大数据工程有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于数据分析师、大数据工程师的技巧及素材等内容,可以点击本站的其他文章进行学习。

『伍』 零基础怎么学习大数据工程师

1、需要掌握一门计算机的编程语言,因为大数据技术学习前需要一定的Java技术作为基础支持。
2、只需要学习Java的标准版JavaSE就可以了,像Servlet、JSP、Tomcat都是JavaEE方向的技术在大数据技术里用到的并不多,只需要了解就可以了,当然Java怎么连接数据库还是要知道的,像JDBC一定要掌握。
3、因为大数据相关软件都是在Linux上运行的,所以Linux要学习得扎实一些,学好Linux能够帮助快速掌握大数据相关技术,能更好地理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置。

『陆』 大数据学习,对于一个零基础的小白来说难学吗

虽然现在大数据人工智能发展的很好,但是自学的话还是很难达到公司要求的,专当初我自学了一属年的大数据,天天在网上找一些免费的资料和视频看,但是遇到问题了也没人能帮我解决的,所以学的很吃力也很慢,后来勉强懂一些后台、hadoop方面的知识,但是只能说是皮毛,只是了解一些简单的知识,公司照样不要,后来报了个班集训了半年,面了2家就找到工作了,当初涉世不深给7千就干了,后来待没多久就跳槽了,几乎工资翻了一倍。所以说啊,自己自学比较浪费时间还学不好,本人的前车之鉴,希望能帮到你

『柒』 零基础学习大数据怎么学

【导语】如今大数据发展得可谓是如日中天,各行各业对于大数据的需求也是与日俱增,越来越多的决策、建议、规划和报告,都要依靠大数据的支撑,学习大数据成了不少人提升或转行的机会,那么零基础学习大数据怎么学呢?

1、学习大数据我们就要认识大数据,大数据(big
data),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。
大数据的4V特点:Volume(大量)、Velocity(高速)、Variety(多样)、Veracity(真实性)。

2、学习有关大数据课程的内容:

第一阶段:Java语言基础(只只需要学习Java的标准版JavaSE就可以了,做大数据不需要很深的Java
技术,当然Java怎么连接数据库还是要知道);

第二阶段:Linux精讲(因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑);

第三阶段:Hadoop生态系统(这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapRece和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapRece是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。)

第四阶段:strom实时开发(torm是一个免费并开源的分布式实时计算系统。利用Storm可以很容易做到可靠地处理无限的数据流,像Hadoop批量处理大数据一样,Storm可以实时处理数据。Storm简单,可以使用任何编程语言。)

第五阶段:Spark生态体系(它是用来弥补基于MapRece处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。);

第六阶段:大数据项目实战(大数据实战项目可以帮助大家对大数据所学知识更加深刻的了解、认识,提高大数据实践技术)。

关于零基础学习大数据怎么学,就给大家介绍到这里了,其实想要学好大数据,成为优秀的大数据工程师,还是需要大家多多进行自我技能提升,多多进行日常问题处理,加油!

阅读全文

与hadoop大数据零基础相关的资料

热点内容
华道数据交付是什么 浏览:861
系统网络有什么 浏览:320
有什么可以帮忙p图的app 浏览:121
美食教程视频软件 浏览:549
2017win7与win10 浏览:43
iphone电脑定位追踪 浏览:620
如何判断文件是否存在 浏览:291
怎么搞移动数据密码 浏览:97
编程中如何开始学习 浏览:494
信息论编码与密码学电驴 浏览:200
ps打开文件的方式是什么 浏览:604
西软x5教程 浏览:693
国企虚报财务数据给什么处分 浏览:300
prt源文件下载 浏览:64
java指定字段排序规则 浏览:325
win7文件图标显示 浏览:833
class文件有多少个 浏览:820
qq对话框无法输入中文 浏览:528
港版iphone5s设置呼叫转移 浏览:534
d盘文件全部跑到桌面 浏览:173

友情链接