文档章节

从hdfs上读取数据

bigdataboy
 bigdataboy
发布于 2016/06/24 16:47
字数 175
阅读 6
收藏 0

第一种办法:使用hadoop url读取数据(这种方法在一个java虚拟机中只能调用一次,因此需要放在一个静态方法中)

 static{

  URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());

 }

 

 public static void readHdfs(String url){

  InputStream in=null;

  try{

   in=new URL(url).openStream();

   IOUtils.copyBytes(in, System.out, 4096,false);

  } catch (MalformedURLException e) {

   e.printStackTrace();

  } catch (IOException e) {

   e.printStackTrace();

  }finally{

   IOUtils.closeStream(in);

  }

 }

 public static void main(String[] args) {

  String url="hdfs://master:9000/sogou.500w.utf8";

  ReadHdfs.readHdfs(url);

 }

第二种方法:使用FileSystem API读取数据

public static void readHdfsFile(String url){

  Configuration conf=new Configuration();

  InputStream in=null;

  try {

   FileSystem fs=FileSystem.get(URI.create(url),conf);

   in=fs.open(new Path(url));

   IOUtils.copyBytes(in, System.out, 4096, false);

  } catch (IOException e) {

   e.printStackTrace();

  }finally{

   IOUtils.closeStream(in);

  }

 }

 public static void main(String[] args) {

  String url="hdfs://master:9000/sogou.500w.utf8";

  ReadHdfsFile.readHdfsFile(url);

 }

© 著作权归作者所有

共有 人打赏支持
bigdataboy
粉丝 0
博文 8
码字总数 7704
作品 0
朝阳
程序员
私信 提问
HDFS的基本操作(增删查)

本片文章主要介绍利用FileSystem API对HDFS进行相关操作,如增删查等——HDFS不支持对文件在任意位置修改。 1 从HDFS中读取数据 从HDFS中读取数据,主要是从存放在HDFS中的文件中读取数据,可...

lu__peng
2018/01/05
0
0
Spark读取结构化数据

读取结构化数据 Spark可以从本地CSV,HDFS以及Hive读取结构化数据,直接解析为DataFrame,进行后续分析。 读取本地CSV 需要指定一些选项,比如留header,比如指定delimiter值,用或者或者其他...

米乐乐果
2017/05/26
0
0
HDFS文件读写流程讲解

一、HDFS体系结构 HDFS作为分布式文件系统,使用的是master/slave体系结构,角色有三种: NameNode:为HDFS提供元数据服务,NameNode可以控制所有文件的操作,它会把所有的文件元数据存储在文...

姚攀的博客 1.01^365=31.78
2017/12/12
0
0
Hadoop:HDFS数据副本存放策略

 Hadoop培训内容:HDFS数据副本存放策略,副本的存放是HDFS可靠性和高性能的关键。优化的副本存放策略是HDFS区分于其他大部分分布式文件系统的重要特性。这种特性需要做大量的调优,并需...

u013388996
2018/03/09
0
0
(第3篇)HDFS是什么?HDFS适合做什么?我们应该怎样操作HDFS系统?

HDFS文件系统 Hadoop 附带了一个名为 HDFS(Hadoop分布式文件系统)的分布式文件系统,专门存储超大数据文件,为整个Hadoop生态圈提供了基础的存储服务。 本章内容: 1) HDFS文件系统的特点,以...

I加加
2017/03/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。

import java.util.Stack; public class Solution { public boolean IsPopOrder(int [] pushA,int [] popA) { if(pushA.length==0||popA.length==0) return false; Stack......

南桥北木
32分钟前
1
0
互联网浪潮下,Java程序员如何追赶技术革新的脚步?

一:时代背景 身处互联网行业的我们一直处在变革的最前端,受到行业发展浪潮的洗礼,不停歇地追赶着技术革新的脚步。特别是近几年来, 互联网架构不断演化,经历了从集中式架构到分布式架构,...

老道士
40分钟前
1
0
flink系列(9)-flink启动流程分析

连续写了几天的flink StreamGraph的代码,今天闲来说一下flink的启动

yiduwangkai
53分钟前
1
0
取变量的地址赋值给另一个变量,C通过,C++编译出错

取变量的地址赋值给另一个变量,C通过。正常运行,C++编译出错。 代码如下: #include <stdio.h>int main(int argc, char *argv[]){int x = 3;int *p = &x;int y = p;/*c ...

SamXIAO
今天
1
0
利用隐写术实施攻击

尽管隐写术是一种低频攻击途径,但网络犯罪分子已经开始利用它结合社交媒体的普遍性和快速传播性来传递恶意有效负载。 低调但有效的隐写技术虽然是旧把戏,但将代码隐藏在看似正常的图像中,...

Linux就该这么学
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部