Hadoop HDFS 的 Java API 操作方式
2016-03-09 15:21
666 查看
想要使用Java API 的方式操作 Hadoop,尤其是hdfs(hadoop file system),必然需要引入jar包(jar包提供了丰富的API)。
点中工程名,
alt+enter,进入工程属性页,
点击【Java Build Path】,点击【Libraries】,
我们要引入外部的Jar包,点击【Add External JARs …】。
导入的外部Jar包分为两部分(避免出现依赖,我们全部导入),
分别为hadoop根目录下的jar包,
和lib里的jar包。
导入完成之后,我们发现在Eclipse的【Package Explorer】当前项目,存在两部分的Library,如下图所示:
显然这里的url,能力有限,因为它来自 jdk 中的 api,属于一种通用的API。
点中工程名,
alt+enter,进入工程属性页,
点击【Java Build Path】,点击【Libraries】,
我们要引入外部的Jar包,点击【Add External JARs …】。
导入的外部Jar包分为两部分(避免出现依赖,我们全部导入),
分别为hadoop根目录下的jar包,
和lib里的jar包。
导入完成之后,我们发现在Eclipse的【Package Explorer】当前项目,存在两部分的Library,如下图所示:
获取/查看 hdfs 上的文件
方式一:URL的方式解析hdfs中的文件public class App{ public static void main(String[] args){ static final String path = "hdfs://hadoop0:9000/hello"; // hello 是 hdfs 上的文件而非路径 URL.setURLStreamHandlerFactory(new FsFsUrlStreamHandlerFactory()); // 不执行这一步操作的话 // url对象无法解析hdfs协议 // 会报 unknown protocol: hdfs 异常 URL url = new URL(path); // URL 表示资源定位符, // 自然是文件在hdfs服务器上的位置 InputStream in = url.openStream(); // URL 对象以文件流的形式将文件解析 IOUtils.copyBytes(in, System.out, 1014, true); // IOUtils 取hadoop的相关实现 // 将in中的内容读入到输出流(这里是控制台输出) } }
显然这里的url,能力有限,因为它来自 jdk 中的 api,属于一种通用的API。
FileSystem:hadoop API
相关文章推荐
- 翻译与学习HA-JDBC
- java中AtomicInteger的使用方法
- Java中HashMap遍历的两种方式
- java读properties属性文件
- 介绍Java中的内存泄漏
- java阅读源码工具
- LeetCode : Divide Two Integers [java]
- java或者C#发送短信
- 阿里云的OSS的Java_SDK使用时遇到的问题
- JAVA部分集合实现方式的简单概述
- java任务调度
- Java中equals和==的区别
- Spring mvc拦截器实现登录验证拦截
- springMVC中复杂嵌套对象、List等集合类型数据绑定
- Spring MVC 使用心得
- Spring Injection with @Resource, @Autowired and @Inject
- spring中classpath和classpath*的配置区别
- JAVA技术开发规范(1)——开发环境搭建
- springMVC中多个对象的数据绑定
- [疯狂Java]AWT:位图IO