方法之一: 通过URL
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;
public class Test {
static {
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
}
/**
* @param args
*/
public static void main(String[] args) {
InputStream in = null;
try {
in = new URL("hdfs://192.168.1.150:9000/tmp/output/part-r-00000").openStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line = null;
while( (line = reader.readLine()) != null){
System.out.println(line);
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
IOUtils.closeStream(in);
}
}
}
方法二: 通过FileSytem 方式
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
public class FileSytemCat {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Configuration conf = new Configuration();
String uri = "hdfs://192.168.1.150:9000/tmp/output/part-r-00000";
FileSystem fs = FileSystem.get(URI.create(uri), conf);
InputStream in = null;
in = fs.open(new Path(uri));
IOUtils.copyBytes(in, System.out,4096, false);
IOUtils.closeStream(in);
}
}
分享到:
相关推荐
java操作Hbase之从Hbase中读取数据写入hdfs中源码,附带全部所需jar包,欢迎下载学习。
从HDFS中读取数据时,根据文件之间的相关性,对接下来用户最有可能访问的文件进行预取,减少了客户端对NameNode节点的访问次数,提高了文件命中率和处理速度。实验结果证明,该方法有效提升了Hadoop对小文件的存取...
在深入分析HDFS数据读写原理的基础上,提出了一种面向HDFS的数据随机访问方法。其设计思想是为Datanode添加本地数据访问接口,用户程序可以读取Datanode上存放的数据块文件以及把数据写入到Datanode上的数据块存放...
Spark自定义RDD从HDFS读取数据,实现和sc.textFile相同功能,代码测试通过,可以根据需求避免数据源数据倾斜
2. 编程实现一个类“MyFSDataInputStream”,该类继承“org.apache.hadoop.fs.FSDataInputStream”,要求如下:实现按行读取 HDFS 中指定文 件的方法“readLine()”,如果读到文件末尾,则返回空,否则返回文件 一行...
HDFS 的文件访问机制为流式访问机制,即通过 API 打开文件的某个数据块之后,可以顺序读取或者写入某个文件。由于 HDFS 中存在多个角色,且对应的应用场景主要为一次写入、多次读取的场景,因此其读和写的方式有较大...
从hadoop hdfs中读取数据,进行groupby 显示统计结果count、avg、max,用文字和柱状图两种图形界面表示
Flink 读取 HDFS数据 (scala源码)
HDFS的读取数据过程细节上比较复杂,我们先来看一看具体代码是怎样实现读取数据过程的,然后再根据代码进行分析: import java.io.BufferedReader; import java.io.InputStreamReader; import org.apache.hadoop....
利用Flume将MySQL表数据准实时抽取到HDFS、MySQL、Kafka用到的jar包
SparkSQL HDFS JAVA调用完整实例,使用Maven管理,项目很小,里面实例很多。敬请下载。
python解析hdfs文件内容生成本地文件、及相关插件包安装实现方式
在使用python做大数据和机器学习处理过程中,首先需要读取hdfs数据,对于常用格式数据一般比较容易读取,parquet略微特殊。从hdfs上使用python获取parquet格式数据的方法(当然也可以先把文件拉到本地再读取也可以):...
HDFS还采用了相应的数据存放、数据读取和数据复制策略,来提升系统整体读写响应性能。HDFS把硬件出错看作一种常态,设计了错误恢复机制 本章最后介绍了HDFS的数据读写过程以及HDFS编程实践方面的相关知识
Hadoop分布式文件系统(HDFS)被设计成适合...HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。
HDFS_TO_COS 工具用于将 HDFS 上的数据拷贝到腾讯云对象存储(COS)上。 使用环境 系统环境 Linux 软件依赖 jdk 1.7 or 1.8 配置方法 将要同步的Hdfs集群的core-site.xml拷贝到conf中, 其中包含了NameNode的配置信息...
javaAPI操作HDFS,测试可用 window环境需要下载hadoop客户端
文件存储在Hadoop文件系统(HDFS)中,该项目从HDFS中提取输入文件并进行充实将它们一起存储到一个文件中,并将其写回到HDFS中。 在ETL管道泛化的这个项目中,|配置Hadoop API |与Hadoop HDFS API一起使用|了解如何...
Hadoop分布式文件系统(HDFS)被设计成适合...HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。
不多说,直接上代码 from hdfs import Client import pandas as pd ...FILENAME = "/tmp/preprocess/part-00000" #hdfs文件路径 COLUMNNAMES = [xx'] ... 先从hdfs读取二进制数据流文件 # 2. 将二进制文件另存为.cs