学习hadoop需要java吗?

Python015

学习hadoop需要java吗?,第1张

需要。原因如下:

1.大数据支持很多开发语言,但企业用的最多的还是java,所以并不是完全需要,有其它语言基础也可以,同时hadoop是由java编写的,要想深入学习,学习java是有必要的。

2.于此,hadoop一般在工业环境大部分是运行在linux环境下,hadoop是用java实现的。所以最好是熟悉linux环境下编程。至于java做到看得懂比较好,遇到问题可以看看源码从而找出问题在哪。所以如果你想操作hadoop的话,需要java知识:比如IO流,JDBC之类,更是要重点掌握。

3.其实,如果要进行Hadoop开发领域,那么编码知识是必须的。没有java 或python的知识,你不能成为hadoop开发人员的主人。所以,这完全取决于具体方面。

但是,在所有方面都是必须的,这是基本知识和基础知识。一般建议在选择任何方面的第一个主题之前,如果有Java和Python的知识,那么这是一个额外的优势。如果想掌握大数据,那么首先要了解一下为什么应该学习大数据,为什么大数据出现在哪里,大数据等等。如今,每个人都在学习hadoop,所以如果想在hadoop开始你的职业生涯,那么需要了解什么是大数据。很多人在理解大数据时往往会盲目地认为处理大量数据就是大数据,稍懂一些的人往往认为学习大数据就是学习hadoop。

原因:

你访问的是本地文件系统而非hdfs , 因为Configuration默认的是在core-default.xml中的属性fs.default.name默认值是file:///,表示本地文件系统。在我们new Configuration()时会默认加载core-default.xml文件,所以根据这个文件的fs.default.name值使用了本地文件系统。

解决方法:

一般安装hadoop时都是修改core-site.xml文件,这个文件设置的属性值一般使用来覆盖core-default.xml这个文件的,在core-site.xml文件中会设置fs.default.name值为hadoop的namenode的地址以及端口号,如hdfs://localhost:9000,即表示namenode是本机,也就是为分布式。所以我们在连接hdfs时需要指定连接的地址,也就是hadoop集群中core-site.xml中fs.default.name属性值。所以解决方法有三种:

1)在代码Configuration conf=new Configuration()之后手动为Configuration对象设置fs.default.name属性值,如:conf.set("fs.default.name","hdfs:localhost:9000");

2)在代码的classpath下创建一个文件,在文件中设置fs.default.name属性值,再使用conf.addResource("文件路径")将该文件添加到Configuration中;

3)直接将集群的core-site.xml添加到classpath下即可,无需手动添加到Configuration,在new Configuration时会自动加载该文件