java - hdfs

来源:趣味经验馆 1.1W

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java hdfs是什么,让我们一起了解一下?

HDFS是指被设计成适合运行在通用硬件上的分布式文件系统,是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。

hdfs的特点是什么?

1、硬件故障:

硬件故障是常态,而不是异常。整个HDFS系统将由数百或数千个存储着文件数据片段的服务器组成。实际上它里面有非常巨大的组成部分,每一个组成部分都很可能出现故障,这就意味着HDFS里的总是有一些部件是失效的,因此,故障的检测和自动快速恢复是HDFS一个很核心的设计目标。

2、数据访问:

运行在HDFS之上的应用程序必须流式地访问它们的数据集,它不是运行在普通文件系统之上的普通程序。HDFS被设计成适合批量处理的,而不是用户交互式的。重点是在数据吞吐量,而不是数据访问的反应时间,POSIX的很多硬性需求对于HDFS应用都是非必须的,去掉POSIX一小部分关键语义可以获得更好的数据吞吐率。

java hdfs

3、大数据集:

运行在HDFS之上的程序有很大量的数据集。典型的HDFS文件大小是GB到TB的级别。所以,HDFS被调整成支持大文件。它应该提供很高的聚合数据带宽,一个集群中支持数百个节点,一个集群中还应该支持千万级别的文件。

实战操作,JAVA操作HDFS案例如下:

Jar包引入,pom.xml:

      org.apache.hadoop      hadoop-common      2.8.0              org.apache.hadoop      hadoop-hdfs      2.8.0

将本地文件上传到hdfs服务器:

/**     * 上传文件到hdfs上     */    @Test    public void upload() throws IOException {        Configuration conf = new Configuration();        conf.set("fs.defaultFS","hdfs://hzq:9000");        FileSystem fs = FileSystem.get(conf);        fs.copyFromLocalFile(new Path("/home/hzq/jdk1.8.tar.gz"),new Path("/demo"));    }

热门标签