hadoop学习

153 篇文章 ¥99.90 ¥299.90
本文详细介绍了在Ubuntu系统上配置Hadoop 1.2.1伪分布式环境的步骤,包括JDK安装、Hadoop解压配置、SSH无密登录以及启动和测试过程。在配置过程中遇到的问题如NameNode未启动,通过日志分析和解决,确保所有节点正常运行。此外,还提到了防火墙关闭对于解决启动问题的帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://blog.youkuaiyun.com/yczws1/article/category/1780343

这个序列不错

 

hadoop学习(一)hadoop-1.2.1伪分布式配置及遇到的问题


简化可行安装:如果一遍启动有问题,删了,再一遍,三遍过后,第四遍,你知道问题出现在哪儿了!


1.JDK 安装:下载路径 http://www.Oracle.com/technetwork/Java/javase/downloads/jdk7-downloads-1880260.html

下载为最新版本的jdk,这里为32位:jdk-7u45-Linux-i586.tar.gz

tar  -zxvf  jdk-7u45-linux-i586.tar.gz

不需要安装,直接解压就OK。解压文件为:jdk1.7.0_45。记住路径。

配置环境变量:

在你的/etc/profile文件中增加一条这样子的配置
sudo gedit profile:添加
export JAVA_HOME=/home/zhangzhen/software/jdk1.7.0_45
PATH=$JAVA_HOME/bin:$PATH
关闭,然后执行:
source  profile

查看java 版本  : 

java  -version

ok


如果系统已经安装过jdk或安装jdk之后不知道jdk的安装路径在。

执行:whereis java。这里只是找到你安装的路径。我们需要的是java,jdk的路径。也就是你解压jdk压缩包后的文件,放到了什么地方。如果是在线自动安装java,jdk。用whereis java 查找你解压后的路径。这里推荐,自己下载jdk,解压。


2.安装Hadoop (version 1.2.1)伪分布式:

(1)假设hadoop-jdk-7u45-linux-i586.tar.gztar.gz在桌面,将它复制到安装目录 /usr/local/下;

1
sudocp hadoop-1.2.1.tar.gz/usr/local/

(2). 解压hadoop-1.2.1.tar.gz;


cd/usr/local
sudo tar-zxvf hhadoop-1.1.2.tar.gz

(3). 将解压出的文件夹改名为hadoop;


sudomvhadoop-1.2.1 hadoop

(4). 将该hadoop文件夹的属主用户设为hadoop,

(5). 打开hadoop/conf/hadoop-env.sh文件;

1
sudogedit hadoop/conf/hadoop-env.sh

(6). 配置conf/hadoop-env.sh(找到#export JAVA_HOME=...,去掉#,然后加上本机jdk的路径);

1
export JAVA_HOME=/usr/lib/jvm/java-6-jdk
(7). 打开conf/core-site.xml文件;

sudogedit hadoop/conf/core-site.xml

修改如下:

<configuration>  
<property>  
<name>fs.default.name</name>  
<value>hdfs://localhost:9000</value>  
</property>  
</configuration>

(8). 打开conf/mapred-site.xml文件;


sudogedit hadoop/conf/mapred-site.xml

修改如下:

<configuration>  
<property>  
<name>mapred.job.tracker</name>  
<value>localhost:9001</value>  
</property>  
</configuration>

(9). 打开conf/hdfs-site.xml文件;

1
sudo gedit hadoop/conf/hdfs-site.xml

编辑如下:

<configuration>  

<property>  
<name>dfs.replication</name>  
<value>1</value>  
</property>

  
<property>
<name>hadoop.tmp.dir</name>
<value>/home/zhangzhen/software/hadoop-1.2.1/</value>
</property> 

<property>
<name>dfs.data.dir</name>
<value>/home/zhangzhen/software/hadoop-1.2.1/data</value>
</property> 

#<property>
#<name>dfs.name.dir</name>
#<value>/home/zhangzhen/software/hadoop-1.2.1/name</value>
#</property>

</configuration>

关于data的目录,在指定的路径自己建立。name不需要指定。

执行:./bin/hadoop  namenode  -format

执行:/bin/start-all.sh

执行: jps


(我是自己创建的data目录:data,是为以后数据存储的地方。name目录是:默认,不需要配置)

要把data的权限设成755,也可以不管。如果你是自己通过:mkdir data 创建的文件夹,它的权限默认就是755。如果是系统自动生成的data、name目录,要改写一下data的权限:chmod 775 data,就OK了!


3.安装ssh服务 

ssh可以实现远程登录和管理,具体可以参考其他相关资料。

(1)安装openssh-server;


sudoapt-getinstallsshopenssh-server

(2)配置ssh无密码登录本机

创建ssh-key,这里我们采用dsa方式;


ssh-keygen -t dsa -P ''
回车后会在/home/zhangzhen/.ssh/下生成两个文件:id_rsa和id_rsa.pub.这两个文件是成对出现的,查看两个文件

# cd /home/zhangzhen/.ssh
# ls -a
.  ..  authorized_keys  id_dsa  id_dsa.pub  known_hosts

进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的;


cd /home/zhangzhen/.ssh
catid_dsa.pub >> authorized_keys
验证ssh是否安装成功,输入命令ssh -version,显示如下

$ ssh -version
登录localhost;


sshlocalhost
单机的时候:要注意一般情况下,ssh是启动的额。

执行退出命令;


exit


4. 在单机上运行hadoop

1. 进入hadoop目录下,格式化hdfs文件系统,初次运行hadoop时一定要有该操作,


cd/home/zhangzhen/hadoop-1.2.1/
bin/hadoopnamenode -format

2. 当你看到下图时,就说明你的hdfs文件系统格式化成功了。


3. 启动bin/start-all.sh


bin/start-all.sh

4. 检测hadoop是否启动成功


jps
显示如下

6755 Jps
5432 TaskTracker
4866 DataNode
4638 NameNode
5109 SecondaryNameNode
5201 JobTracker

如果6行都出来,说明搭建成功,漏一个都是有。
如果都列出来,可以通过firefox浏览器查看mapreduce的web页面,使用

http://localhost:50030/

hdfs的web 页面

http://localhost:50070/


5.测试hadoop

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <strong><span style="font-size:12px;">zhangzhen@ubuntu:~$ mkdir input  
  2. zhangzhen@ubuntu:~$ cd input/  
  3. zhangzhen@ubuntu:~/input$ ls  
  4. zhangzhen@ubuntu:~/input$ echo "hello world" >test1.txe  
  5. zhangzhen@ubuntu:~/input$ echo "hello world" >test1.txx  
  6. zhangzhen@ubuntu:~/input$ ls  
  7. test1.txe  test1.txx  
  8. zhangzhen@ubuntu:~/input$ rm test1.txe   
  9. zhangzhen@ubuntu:~/input$ rm test1.txx   
  10. zhangzhen@ubuntu:~/input$ echo "hello world" >test1.txt  
  11. zhangzhen@ubuntu:~/input$ echo "hello hadoop">test2.txt  
  12. zhangzhen@ubuntu:~/input$ cat test1.txt  
  13. hello world  
  14. zhangzhen@ubuntu:~/input$ cat test2.txt   
  15. hello hadoop</span></strong>  
[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <strong><span style="font-size:12px;">  
  2.   
  3. zhangzhen@ubuntu:~/software/hadoop-1.2.1/bin$ ./hadoop dfs -ls ./in/*  
  4. -rw-r--r--   1 zhangzhen supergroup         12 2014-01-14 04:49 /user/zhangzhen/in/test1.txt  
  5. -rw-r--r--   1 zhangzhen supergroup         13 2014-01-14 04:49 /user/zhangzhen/in/test2.txt</span></strong>  
查看你的java jar 包在什么地方:
[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <strong><span style="font-size:12px;"><span style="color:#FF6666;"><span style="color:#FF0000;">-rw-rw-r--  1 zhangzhen zhangzhen    6842 Jul 22 18:26 hadoop-ant-1.2.1.jar  
  2. -rw-rw-r--  1 zhangzhen zhangzhen     414 Jul 22 18:26 hadoop-client-1.2.1.jar  
  3. -rw-rw-r--  1 zhangzhen zhangzhen 4203147 Jul 22 18:26 hadoop-core-1.2.1.jar  
  4. -rw-rw-r--  1 zhangzhen zhangzhen  142726 Jul 22 18:26 hadoop-examples-1.2.1.jar  
  5. -rw-rw-r--  1 zhangzhen zhangzhen     417 Jul 22 18:26 hadoop-minicluster-1.2.1.jar  
  6. -rw-rw-r--  1 zhangzhen zhangzhen 3126576 Jul 22 18:26 hadoop-test-1.2.1.jar  
  7. -rw-rw-r--  1 zhangzhen zhangzhen  385634 Jul 22 18:26 hadoop-tools-1.2.1.jar</span>  
  8. </span>  
  9. </span></strong>  
[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <strong><span style="font-size:12px;"><span style="color:#FF0000;">zhangzhen@ubuntu:~/software/hadoop-1.2.1$ cp hadoop-examples-1.2.1.jar /home/zhangzhen/software/hadoop-1.2.1/bin/</span>  
  2. zhangzhen@ubuntu:~/software/hadoop-1.2.1$ ./hadoop jar hadoop-examples-1.2.1.jar wordcount in out  
  3. -bash: ./hadoop: No such file or directory  
  4. zhangzhen@ubuntu:~/software/hadoop-1.2.1$ cd bin/  
  5. <span style="color:#FF0000;">zhangzhen@ubuntu:~/software/hadoop-1.2.1/bin$ ./hadoop jar hadoop-examples-1.2.1.jar wordcount in out</span>  
  6. 14/01/14 05:47:19 INFO input.FileInputFormat: Total input paths to process : 2  
  7. 14/01/14 05:47:19 INFO util.NativeCodeLoader: Loaded the native-hadoop library  
  8. 14/01/14 05:47:19 WARN snappy.LoadSnappy: Snappy native library not loaded  
  9. 14/01/14 05:47:20 INFO mapred.JobClient: Running job: job_201401140428_0001  
  10. <span style="color:#FF0000;">14/01/14 05:47:21 INFO mapred.JobClient:  map 0% reduce 0%  
  11. 14/01/14 05:47:33 INFO mapred.JobClient:  map 50% reduce 0%  
  12. 14/01/14 05:47:34 INFO mapred.JobClient:  map 100% reduce 0%  
  13. 14/01/14 05:47:42 INFO mapred.JobClient:  map 100% reduce 33%  
  14. 14/01/14 05:47:43 INFO mapred.JobClient:  map 100% reduce 100%</span>  
  15. 14/01/14 05:47:45 INFO mapred.JobClient: Job complete: job_201401140428_0001  
  16. 14/01/14 05:47:45 INFO mapred.JobClient: Counters: 29  
  17. 14/01/14 05:47:45 INFO mapred.JobClient:   Job Counters   
  18. 14/01/14 05:47:45 INFO mapred.JobClient:     Launched reduce tasks=1  
  19. 14/01/14 05:47:45 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=21137  
  20. 14/01/14 05:47:45 INFO mapred.JobClient:     Total time spent by all reduces waiting after reserving slots (ms)=0  
  21. 14/01/14 05:47:45 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0  
  22. 14/01/14 05:47:45 INFO mapred.JobClient:     Launched map tasks=2  
  23. 14/01/14 05:47:45 INFO mapred.JobClient:     Data-local map tasks=2  
  24. 14/01/14 05:47:45 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=10426  
  25. 14/01/14 05:47:45 INFO mapred.JobClient:   File Output Format Counters   
  26. 14/01/14 05:47:45 INFO mapred.JobClient:     Bytes Written=25  
  27. 14/01/14 05:47:45 INFO mapred.JobClient:   FileSystemCounters  
  28. 14/01/14 05:47:45 INFO mapred.JobClient:     FILE_BYTES_READ=55  
  29. 14/01/14 05:47:45 INFO mapred.JobClient:     HDFS_BYTES_READ=253  
  30. 14/01/14 05:47:45 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=172644  
  31. 14/01/14 05:47:45 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=25  
  32. 14/01/14 05:47:45 INFO mapred.JobClient:   File Input Format Counters   
  33. 14/01/14 05:47:45 INFO mapred.JobClient:     Bytes Read=25  
  34. 14/01/14 05:47:45 INFO mapred.JobClient:   Map-Reduce Framework  
  35. 14/01/14 05:47:45 INFO mapred.JobClient:     Map output materialized bytes=61  
  36. 14/01/14 05:47:45 INFO mapred.JobClient:     Map input records=2  
  37. 14/01/14 05:47:45 INFO mapred.JobClient:     Reduce shuffle bytes=61  
  38. 14/01/14 05:47:45 INFO mapred.JobClient:     Spilled Records=8  
  39. 14/01/14 05:47:45 INFO mapred.JobClient:     Map output bytes=41  
  40. 14/01/14 05:47:45 INFO mapred.JobClient:     Total committed heap usage (bytes)=248127488  
  41. 14/01/14 05:47:45 INFO mapred.JobClient:     CPU time spent (ms)=3820  
  42. 14/01/14 05:47:45 INFO mapred.JobClient:     Combine input records=4  
  43. 14/01/14 05:47:45 INFO mapred.JobClient:     SPLIT_RAW_BYTES=228  
  44. 14/01/14 05:47:45 INFO mapred.JobClient:     Reduce input records=4  
  45. 14/01/14 05:47:45 INFO mapred.JobClient:     Reduce input groups=3  
  46. 14/01/14 05:47:45 INFO mapred.JobClient:     Combine output records=4  
  47. 14/01/14 05:47:45 INFO mapred.JobClient:     Physical memory (bytes) snapshot=322818048  
  48. 14/01/14 05:47:45 INFO mapred.JobClient:     Reduce output records=3  
  49. 14/01/14 05:47:45 INFO mapred.JobClient:     Virtual memory (bytes) snapshot=1040166912  
  50. 14/01/14 05:47:45 INFO mapred.JobClient:     Map output records=4</span></strong>  
[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <strong><span style="font-size:12px;">  
  2. zhangzhen@ubuntu:~/software/hadoop-1.2.1$ bin/hadoop dfs -ls  
  3. Found 2 items  
  4. drwxr-xr-x   - zhangzhen supergroup          0 2014-01-14 04:49 /user/zhangzhen/in  
  5. drwxr-xr-x   - zhangzhen supergroup          0 2014-01-14 05:47 /user/zhangzhen/out  
  6. zhangzhen@ubuntu:~/software/hadoop-1.2.1$ bin/hadoop dfs -ls ./out  
  7. Found 3 items  
  8. -rw-r--r--   1 zhangzhen supergroup          0 2014-01-14 05:47 /user/zhangzhen/out/_SUCCESS  
  9. drwxr-xr-x   - zhangzhen supergroup          0 2014-01-14 05:47 /user/zhangzhen/out/_logs  
  10. -rw-r--r--   1 zhangzhen supergroup         25 2014-01-14 05:47 /user/zhangzhen/out/part-r-00000  
  11. zhangzhen@ubuntu:~/software/hadoop-1.2.1$ bin/hadoop dfs -cat ./out/*  
  12. hadoop  1  
  13. hello   2  
  14. world   1</span></strong>  



注意事项:

1、有些时候虽然按照上面方法去配置伪分布式hadoop,但是难免还是会遇到一些问题:在用jps查看启动项的时候,少了NameNode或DataNode。遇到没有启动起来的节点。通过日志来判断问题的所在。

问题:hadoop--namenode未启动解决

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <strong>zhangzhen@ubuntu:~/software/hadoop-1.2.1/bin$ ./hadoop namenode format  
  2. 14/01/14 04:15:53 INFO namenode.NameNode: STARTUP_MSG:   
  3. /************************************************************  
  4. STARTUP_MSG: Starting NameNode  
  5. STARTUP_MSG:   host = ubuntu/127.0.1.1  
  6. STARTUP_MSG:   args = [format]  
  7. STARTUP_MSG:   version = 1.2.1  
  8. STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013  
  9. STARTUP_MSG:   java = 1.7.0_45  
  10. ************************************************************/  
  11. Usage: java NameNode [-format [-force ] [-nonInteractive]] | [-upgrade] | [-rollback] | [-finalize] | [-importCheckpoint] | [-recover [ -force ] ]  
  12. 14/01/14 04:15:53 INFO namenode.NameNode: SHUTDOWN_MSG:   
  13. /************************************************************  
  14. SHUTDOWN_MSG: Shutting down NameNode at ubuntu/127.0.1.1  
  15. ************************************************************/  
  16. zhangzhen@ubuntu:~/software/hadoop-1.2.1/bin$ ./start-all.sh   
  17. starting namenode, logging to /home/zhangzhen/software/hadoop-1.2.1/libexec/../logs/hadoop-zhangzhen-namenode-ubuntu.out  
  18. localhost: starting datanode, logging to /home/zhangzhen/software/hadoop-1.2.1/libexec/../logs/hadoop-zhangzhen-datanode-ubuntu.out  
  19. localhost: starting secondarynamenode, logging to /home/zhangzhen/software/hadoop-1.2.1/libexec/../logs/hadoop-zhangzhen-secondarynamenode-ubuntu.out  
  20. starting jobtracker, logging to /home/zhangzhen/software/hadoop-1.2.1/libexec/../logs/hadoop-zhangzhen-jobtracker-ubuntu.out  
  21. localhost: starting tasktracker, logging to /home/zhangzhen/software/hadoop-1.2.1/libexec/../logs/hadoop-zhangzhen-tasktracker-ubuntu.out  
  22. zhangzhen@ubuntu:~/software/hadoop-1.2.1/bin$ jps  
  23. <span style="color:#FF6666;">12020 DataNode  
  24. 12249 SecondaryNameNode  
  25. 12331 JobTracker  
  26. 12571 TaskTracker  
  27. 12639 Jps</span></strong>  

解决方法:

原先在   conf/hdfs-site.xml文件配置了name文件的路径:注释掉,采用默认,在指定路径mkdir data 设置数据路径。data为空。

重新格式化,启动hadoop:

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <strong>zhangzhen@ubuntu:~/software/hadoop-1.2.1/bin$ ./hadoop namenode -format  
  2. 14/01/14 04:27:42 INFO namenode.NameNode: STARTUP_MSG:   
  3. /************************************************************  
  4. STARTUP_MSG: Starting NameNode  
  5. STARTUP_MSG:   host = ubuntu/127.0.1.1  
  6. STARTUP_MSG:   args = [-format]  
  7. STARTUP_MSG:   version = 1.2.1  
  8. STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013  
  9. STARTUP_MSG:   java = 1.7.0_45  
  10. ************************************************************/  
  11. Re-format filesystem in /home/zhangzhen/software/hadoop-1.2.1/dfs/name ? (Y or N) y  
  12. Format aborted in /home/zhangzhen/software/hadoop-1.2.1/dfs/name  
  13. 14/01/14 04:27:47 INFO namenode.NameNode: SHUTDOWN_MSG:   
  14. /************************************************************  
  15. SHUTDOWN_MSG: Shutting down NameNode at ubuntu/127.0.1.1  
  16. ************************************************************/  
  17. zhangzhen@ubuntu:~/software/hadoop-1.2.1/bin$ ./start-all.sh   
  18. starting namenode, logging to /home/zhangzhen/software/hadoop-1.2.1/libexec/../logs/hadoop-zhangzhen-namenode-ubuntu.out  
  19. localhost: starting datanode, logging to /home/zhangzhen/software/hadoop-1.2.1/libexec/../logs/hadoop-zhangzhen-datanode-ubuntu.out  
  20. localhost: starting secondarynamenode, logging to /home/zhangzhen/software/hadoop-1.2.1/libexec/../logs/hadoop-zhangzhen-secondarynamenode-ubuntu.out  
  21. starting jobtracker, logging to /home/zhangzhen/software/hadoop-1.2.1/libexec/../logs/hadoop-zhangzhen-jobtracker-ubuntu.out  
  22. localhost: starting tasktracker, logging to /home/zhangzhen/software/hadoop-1.2.1/libexec/../logs/hadoop-zhangzhen-tasktracker-ubuntu.out  
  23. zhangzhen@ubuntu:~/software/hadoop-1.2.1/bin$ jps  
  24. <span style="color:#FF6666;">17529 TaskTracker  
  25. 17193 SecondaryNameNode  
  26. 16713 NameNode  
  27. 17594 Jps  
  28. 17286 JobTracker  
  29. 16957 DataNode</span></strong>  
启动起来!


2、出现上述1问题,可能存在节点没有启动。把防火墙给关掉:

分别执行:

sudo apt-get install ufw 

sudo ufw status(查看状态)

sudo ufw disable

然后重新启动Hadoop。

3、一般配置会出现的问题,在向data目录传文件的时候后,重启电脑,开启hadoop服务,执行jps,查看启动项会少一项。一般做的方式,是namenode空间格式化。在bin目录下执行:./hadoop namenode -format 。然后重新启动./hadoop start-all.sh。

但是,重启电脑,就要格式化namenode 空间,这未必会导致数据的流失。我们在实际安装过程中就遇到这种问题。一般都会是namenode和datanode的问题。通过查看:hadoop-zhangzhen-datanode-ubuntu.log 或 hadoop-zhangzhen-namenode-ubuntu.log日志,产看问题出现在哪?

(4)常见的错误分类请参考:http://blog.csdn.NET/yonghutwo/article/details/9206059



### Hadoop 的相关知识与学习资源 #### 什么是 HadoopHadoop 是一种用于处理大规模数据集的分布式计算框架,能够运行在由通用硬件组成的大型集群上。它通过提供高可靠性、高性能以及可扩展性来满足大数据分析的需求[^2]。 #### Hadoop 生态系统的组成部分 Hadoop 生态系统主要分为三个部分:工具、框架和服务。其中,工具包括但不限于 Hive、Pig 和 Sqoop;框架则指代 MapReduce 这样的编程模型;服务涉及 Zookeeper 等协调管理工具[^1]。 #### Hadoop 的优点 Hadoop 提供了所谓的“三高一低”的特性——即高可靠性、高扩展性和高效性,同时降低了成本。这些优势使得 Hadoop 成为了企业级大数据解决方案的重要选择之一。 #### 学习路径建议 对于初学者来说,扎实的基础至关重要。由于 Hadoop 使用 Java 编程语言构建,并且大多数生产环境中的服务器基于 Linux 操作系统,因此掌握这两项技术是非常必要的前提条件[^3]。以下是具体的学习方向: 1. **Java 基础**: 掌握面向对象的概念、集合类库以及其他高级特性的应用。 2. **Linux 操作系统**: 熟悉基本命令行操作、权限管理和脚本编写能力。 3. **数据库基础知识**: 虽然 Hadoop 处理的是非结构化或半结构化的海量数据,但是理解传统的关系型数据库 (RDBMS),比如 Oracle 数据库的工作原理仍然有益于更好地理解和优化查询性能。 #### 实践指南 理论联系实际尤为重要,在学习过程中应该注重动手能力培养。尝试搭建自己的小型 Hadoop 集群来进行实验练习可以帮助加深理解概念并积累经验。 ```bash # 安装 hadoop 并启动 hdfs 和 yarn 服务示例 $ tar -xzvf hadoop-x.x.x.tar.gz /usr/local/hadoop/ $ cd /usr/local/hadoop/sbin/ $ ./start-dfs.sh && ./start-yarn.sh ``` #### 参考书籍与在线课程推荐 - 《Hadoop权威指南》(Definitive Guide to Apache Hadoop): 经典教材,涵盖了从安装配置到深入开发的所有方面。 - Coursera 或 edX 上的大数据分析专项课程: 结合视频讲解和作业评估的形式适合自学者逐步提升技术水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值