用 java遍历hadoop分布式文件系统中某个目录下的全部文件,我的hadoop是单节点的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用 java遍历hadoop分布式文件系统中某个目录下的全部文件,我的hadoop是单节点的相关的知识,希望对你有一定的参考价值。

import org.apache.hadoop.fs.*;
import org.apache.hadoop.conf.*;
public class FileList
public static void main(String[] args)
try
Configuration conf=new Configuration();
FileSystem hdfs=FileSystem.get(conf);
Path path=new Path("/home/");
FileStatus status[]=hdfs.listStatus(path);
for(int i=0; i<status.length; i++)
System.out.println(status[i].getPath().toString());

hdfs.close();
System.out.println("end");

catch(Exception e)
e.printStackTrace();



//为什么上面的代码总是显示操作系统本地文件系统 /home 下的文件
//输出如下
file:/home/lost+found
file:/home/dell
end

原因:
你访问的是本地文件系统而非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时会自动加载该文件
参考技术A 你把 path=new Path("/home/");里面的目录用hdfs中文件地址替换一下试试 参考技术B 使用FileSystem fs = FileSystem.get(URI.create("hdfs://域名:9000/user"), conf);

hadoop是干啥用的?

学习hadoop要有什么 语言基础啊?java c 还是php啊

提供海量数据存储和计算的。需要java语言基础。

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。

扩展资料

Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。能够对大量数据进行分布式处理的软件框架Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。

Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。

参考资料:百度百科-Hadoop

参考技术A

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。

hadoop简介:

充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。




扩展资料:

优点:

1,高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。

2,高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

3,高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。

4,高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

5,低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。

参考资料:百度百科——Hadoop

参考技术B 要有java语言基础,和 linux系统命令基础。
hadoop是运行的系统要求是 linux。
hadoop 用 java写的分布式 ,处理大数据的框架。
只要思想是 分组合并 思想
分组:比如 有一个大型数据,那么他就会将这个数据按照算法分成多份,每份存储在 奴隶主机上,并且在奴隶主机上进行计算。
合并:将每个机器上的计算结果合并起来 再在一台机器上计算,得到最终结果。
就是mapreduce 算法。追问

主要用来 存储数据?那和我现在用的网站mysql 还有 Oracle 有啥区别啊.不都是存数据么

追答

区别很大,hadoop采用分布式存储。能够处理海量数据。

参考技术C hadoop是什么?
hadoop是一个平台,是一个适合大数据的分布式存储和计算的平台。什么是分布式存储?这就是后边我们要讲的hadoop核心之一HDFS;什么是分布式计算?这是我们后边要讲的hadoop另外一个重要的核心MapReduce。
hadoop的优点一:低成本
hadoop本身是运行在普通PC服务器组成的集群中进行大数据的分发及处理工作的,这些服务器集群是可以支持数千个节点的。
hadoop优点二:高效性
这也是hadoop的核心竞争优势所在,接受到客户的数据请求后,hadoop可以在数据所在的集群节点上并发处理。
hadoop优点三:可靠性
通过分布式存储,hadoop可以自动存储多份副本,当数据处理请求失败后,会自动重新部署计算任务。
hadoop优点四:扩展性
hadoop的分布式存储和分布式计算是在集群节点完成的,这也决定了hadoop可以扩展至更多的集群节点。
hadoop安装方式|hadoop部署方式
hadoop安装方式只有三种:本地安装;伪分布安装;集群安装。后期我们会专题进行讲解。本回答被提问者和网友采纳
参考技术D 大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产,简单来说大数据就是海量的数据,就是数据量大、来源广、种类繁多(日志、视频、音频),大到PB级别,现阶段的框架就是为了解决PB级别的数据。

大数据的7大特征:海量性,多样性,高速性,可变性,真实性,复杂性,价值性

随着大数据产业的发展,它逐渐从一个高端的、理论性的概念演变为具体的、实用的理念。

很多情况下大数据来源于生活。
比如你点外卖,准备什么时候买,你的位置在哪,商家位置在哪,想吃什么……这都是数据,人一多各种各样的信息就越多,还不断增长,把这些信息集中,就是大数据。

大数据的价值并不是在这些数据上,而是在于隐藏在数据背后的——用户的喜好、习惯还有信息。
修改回答
0
评论
分享
删除回答

其他回答
尚学堂java学院
2021-01-04·百度认证:北京尚学堂科技有限公司官方帐号
关注

大数据概述
专业解释:大数据英文名叫big data,是一种IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
通俗解释:大数据通俗的解释就是海量的数据,顾名思义,大就是多、广的意思,而数据就是信息、技术以及数据资料,合起来就是多而广的信息、技术、以及数据资料。
大数据提出时间
“大数据”这个词是由维克托·迈尔-舍恩伯格及肯尼斯·库克耶于2008年8月中旬共同提出。
大数据的特点
Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)-由IBM提出。
大数据存在的意义和用途是什么?
看似大数据是一个很高大上的感觉,和我们普通人的生活相差甚远,但是其实不然!大数据目前已经存在我们生活中的各种角落里了,举个例子,我们现在目前最关心的疫情情况数据,用的就是大数据的技术,可以实时查看确诊人数以及各种疫情数据。
大数据存在的意义是什么?

以上是关于用 java遍历hadoop分布式文件系统中某个目录下的全部文件,我的hadoop是单节点的的主要内容,如果未能解决你的问题,请参考以下文章

hadoop家族简介

搭建部署Hadoop 之 HDFS

Hadoop初步学习

Hadoop可以运行的模式

hadoop单机模式和伪分布式模式的异同

hadoop单机模式和伪分布式模式的异同