Hadoop之HDFS(三)HDFS的JAVA API操作
HDFS的JAVA API操作
HDFS 在生产应用中主要是客户端的开发,其核心步骤是从 HDFS 提供的 api中构造一个 HDFS 的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS 上的文件。
创建 Maven工程,引入 pom依赖:
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.4</version>
</dependency>
</dependencies>
配置Windows平台的Hadoop环境
在 windows 平台下编译 Hadoop 源码
解压到 windows 的任意一个目录下(无中文无空格)
在 windows 系统中配置 HADOOP_HOME 指向你解压的安装包目录
在 windows 系统的 path 变量中加入 HADOOP_HOME 的 bin 目录(和配置java环境变量基本一致)
使用java api操作HDFS
public class HDFSClient {
public static void main(String[] args) throws Exception {
//指定相关参数的配置
Configuration conf = new Configuration();
//这里指定使用的是 hdfs 文件系统
conf.set("fs.defaultFS", "hdfs://bigdata-01:9000");
//通过如下的方式进行客户端身份的设置
System.setProperty("HADOOP_USER_NAME", "root");
//通过 FileSystem 的静态方法获取文件系统客户端对象
FileSystem fs = FileSystem.get(conf);
//也可以通过如下的方式去指定文件系统的类型 并且同时设置用户身份
//FileSystem fs = FileSystem.get(new URI("hdfs://bigdata-01:9000"), conf, "root");
//创建一个文件夹
//fs.mkdirs(new Path("/hdfsbyjava"));
//创建一个文件
//fs.create(new Path("/hdfsbyjava/abc"), false);
//上传一个文件
//fs.copyFromLocalFile(new Path("d:/a.txt"), new Path("/hdfsbyjava-ha"));
//下载一个文件
fs.copyToLocalFile(new Path("/hdfsbyjava/abc"),new Path("D://bcd"));
//删除一个文件
//fs.delete(new Path("/hdfsbyjava/abc"));
//关闭文件系统
fs.close();
}
}
Hadoop之HDFS(三)HDFS的JAVA API操作的更多相关文章
- HDFS命令行及JAVA API操作
查看进程 jps 访问hdfs: hadoop-root:50070 hdfs bash命令: hdfs dfs <1> -help: 显示命令的帮助的信息 <2> - ...
- 使用Java API操作HDFS文件系统
使用Junit封装HFDS import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.*; import org ...
- HDFS 05 - HDFS 常用的 Java API 操作
目录 0 - 配置 Hadoop 环境(Windows系统) 1 - 导入 Maven 依赖 2 - 常用类介绍 3 - 常见 API 操作 3.1 获取文件系统(重要) 3.2 创建目录.写入文件 ...
- Kafka系列三 java API操作
使用java API操作kafka 1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs ...
- hive-通过Java API操作
通过Java API操作hive,算是测试hive第三种对外接口 测试hive 服务启动 package org.admln.hive; import java.sql.SQLException; i ...
- hadoop2-HBase的Java API操作
Hbase提供了丰富的Java API,以及线程池操作,下面我用线程池来展示一下使用Java API操作Hbase. 项目结构如下: 我使用的Hbase的版本是 hbase-0.98.9-hadoop ...
- MongoDB Java API操作很全的整理
MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,一般生产上建议以共享分片的形式来部署. 但是MongoDB官方也提供了其它语言的客户端操作API.如下图所示: 提供了C.C++ ...
- zookeeper的java api操作
zookeeper的java api操作 创建会话: Zookeeper(String connectString,int sessionTimeout,Watcher watcher) Zookee ...
- java api操作
java api操作 导入开发包 将hbase安装包中lib下包导入java项目 创建表 Configuration conf = HBaseConfiguration.create(); c ...
随机推荐
- Java并发编程总结
基础概念 1.什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?原子操作(atomic operation)意为"不可被中断的一个或一 ...
- OpenCV获取RTSP解码播放
#include <opencv2/opencv.hpp> int main(int argc, char **argv){ IplImage *pFrame = NULL, *srcIm ...
- ubuntu 添加新硬盘
查看硬盘: # fdisk -l ... Disk /dev/sdb: 274.9 GB, 274877906944 bytes 255 heads, 63 sectors/track, 33418 ...
- 深入理解java虚拟机-第十章-早期(编译期)优化
第10章 早期(编译期)优化 javac编译过程: 1.解析与填充符号表过程 词法.语法分析 将源代码的字条流转变为标记(Token)集合.如“int a = b + 2”这名代码包含了6个标记,分 ...
- Apache的Mod_rewrite学习 (RewriteCond重写规则的条件) 转
RewriteCondSyntax: RewriteCond TestString CondPattern [flags] RewriteCond指令定义一条规则条件.在一条RewriteRule指令 ...
- Android开源框架-Annotation框架(以ViewMapping注解为例)
Annotation 分类 1 标准 Annotation 包括Override, Deprecated, SuppressWarnings,标准 Annotation 是指 Java 自带的几个 A ...
- VMware 10安装Mac OS X 10.11和XCode7
上周把我的计算机当试验品,安装mac虚拟机.由于文件下载复制解压的时间花了很长,历时两天,记录下来(和我一样的新手不妨参考一下): 我机硬件:win7 64位 8G内存 没有8G以上就不要考虑了.我安 ...
- HTML中id与name的用法
可以说几乎每个做过Web开发的人都问过,到底元素的ID和Name有什么区别阿?为什么有了ID还要有Name呢? 而同样我们也可以得到最经典的答案:ID就像是一个人的身份证号码,而Name就像是他的名字 ...
- C语言 产生随机数
rand()函数 #include <stdlib.h> int rand(void); rand()是根据某个种子,以特定的算法,计算出一系列数的函数.返回的数在0和RAND_MAX之间 ...
- RbbitMQ基础知识
MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递指的是程序之间 ...