hdfs实验相关操作
(一)通过shell命令访问HDFS
【实验原理】
- HDFS是hadoop平台的核心组成之一。熟悉使用hadoop平台需要熟练访问HDFS。HDFS的访问方式有多种。可通过web访问,也可通过shell方式或者API方式访问。基本操作有对文件的读、写、追加、删除等。新建文件夹、删除文件夹等。还可显示文件及文件夹的属性。
【实验环境】
- 操作系统:Linux
Hadoop版本:2.6.5或以上版本
JDK版本:1.6或以上版本
Java IDE:Eclipse
【实验步骤】
- HDFS有很多shell命令,其中,fs命令可以说是HDFS最常用的命令,利用该命令可以查看HDFS文件系统的目录结构、上传和下载数据、创建文件等。该命令的用法为:
hdfs dfs [genericOptions] [commandOptions]
备注:Hadoop中有三种Shell命令方式:
hadoop fs适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统
hadoop dfs只能适用于HDFS文件系统
hdfs dfs跟hadoop dfs的命令作用一样,也只能适用于HDFS文件系统
以下实验使用hdfs dfs(可以在终端输入hdfs dfs -help command查询命令用法)。 - 注:执行hdfs命令需要去/hadoop/bin的目录下(学知浅薄,等学习明白再来解释)
- 列出HDFS当前用户目录下的文件及文件夹
hdfs dfs -ls /
- 列出HDFS文件下名为test的文件夹中的文件
hdfs dfs -ls test
- 上传文件将本地目录file1文件上传到HDFS并重新命名为file2
hdfs dfs -put file1 file2
- 下载文件:将HDFS中的file2文件复制到本地系统并命名为file1
hdfs dfs -get file2 file1
- 查看文件:查看HDFS下file1文件内容
hdfs dfs -cat file1
- 删除文档:删除HDFS下名为file1的文件(参数r为递归删除)
hdfs dfs-rmr file1
- 在HDFS的/hadoop的路径下建立新目录,名为t1
hdfs dfs -mkdir /hadoop/t1
- 本地文件复制到HDFS(注意与put的区别)
注:src:本地地址; dst:目标地址;
hdfs dfs -copyFromLocal src dst
- 本地文件移到到HDFS
hdfs dfs -moveFromLocal src dst
- 文件或者文件夹的复制
hdfs dfs -cp src dst
- 文件或者文件夹的移动
hdfs dfs -mv src dst
- copyToLocal复制文件到本地
hdfs dfs -copyToLocal src dst
- touchz创建一个空文件file
hdfs dfs -touchz file
- 追加到文件末尾的命令
hdfs dfs -appendToFile local.txt text.txt
(二)实验二:通过API访问HDFS
【实验名称】 通过API访问HDFS
- 【实验环境】
操作系统:Linux
Hadoop版本:2.6.5或以上版本
JDK版本:1.6或以上版本
Java IDE:Eclipse - 【导包】
注意:
在EDU实验平台中,HDFS入口到/etc/hadoop/conf/core-site.xml,name:fs.defaultFS查找。
编写代码之前需要手动在eclipse工程中导入如下jar包:
hadoop-2.7.3/share/hadoop/common下的jar
hadoop-2.7.3/share/hadoop/common/lib下的jar
hadoop-2.7.3/share/hadoop/hdfs下的jar
hadoop-2.7.3/share/hadoop/hdfs/lib下的jar
以上jar包在EDU平台中路径为/usr/hdp/2.6.1.0-129/hadoop/hadoop/share/hadoop。 - 往hdfs上创建文件
import java.net.URI;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;public class Test1 {public static void main(String[] args) throws Exception {Configuration conf = new Configuration();URI uri = new URI("hdfs://192.168.76.***:9000");FileSystem fs = FileSystem.get(uri, conf, "wgq");Path path = new Path("/b.txt");FSDataOutputStream out = fs.create(path);out.writeBytes("hello world!");}}
hdfs实验相关操作相关推荐
- 实验二 HDFS的Shell命令操作,和HDFS的API操作
文章目录 实验目的 一. 实验原理 二.实验准备 实验内容 步骤 项目1 HDFS常见命令练习 列出HDFS当前用户家目录下的文件及文件夹: 列出HDFS文件下名为directory的文件夹中的文件: ...
- 04Linux常用命令(文件系统与磁盘相关操作)
Linux常用命令(文件系统与磁盘相关操作) 1.基础知识 1:通常称呼一个可被挂载的数据为一个文件系统而不是一个分区.2:操作系统的文件数据除了文件的实际内容外,通常含有非常多的属性,例如Linux ...
- 2021年大数据HBase(五):HBase的相关操作JavaAPI方式
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 HBase的相关操作-JavaAPI方式 一.需求说明 ...
- jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)
JqGrid相关操作备忘 方法列表 特别推荐:怎样获取某一方某一列的值: [html] view plaincopy var rowdata=jQuery("#list").jqG ...
- Spark Streaming介绍,DStream,DStream相关操作(来自学习资料)
一. Spark Streaming介绍 1. SparkStreaming概述 1.1. 什么是Spark Streaming Spark Streaming类似于Apache Storm,用于流式 ...
- oracle decode_错过血亏!一文搞懂Oracle锁相关视图及相关操作
本文主要研究锁的相关视图,以及锁的相关操作,通过视图查锁的问题. 一.v$transaction视图 第一个视图是v$transaction,就是Oracle数据库所有活动的事务数,所有活动的事务每一 ...
- 错过血亏!一文搞懂Oracle锁相关视图及相关操作
本文主要研究锁的相关视图,以及锁的相关操作,通过视图查锁的问题. 一.v$transaction视图 第一个视图是v$transaction,就是Oracle数据库所有活动的事务数,所有活动的事务每一 ...
- linux授权命令chmod777_【HDFS篇02】HDFS命令行操作
完成永远比完美重要 HDFS的Shell操作 基本语法 hadoop fs 具体命令[推荐] hdfs dfs 具体命令 常用命令大全 启动Hadoop集群 // 这些命令也都可以按照自己的方式组成脚 ...
- C++文件流fstream相关操作
C++文件流fstream相关操作 一.理解Open函数 利用fstream,使用open/close打开或创建,完成后关闭,对文件读入读出使用插入器(<<) 或析取器(>>) ...
最新文章
- 判断字符串是不是数字
- zynq上NEON进行fft
- PMCAFF要搞一场区块链产品大会,各大厂全都来了!
- boost::signals2模块实现用于从槽返回值到信号调用的示例程序
- link 和 @import 的区别
- SAP Spartacus checkout.reducer.ts调用时间点
- 解决checkbox与对应文字不对齐的问题
- win7 IIS7环境下部署PHP 7.0
- mysql coalesce函数用法_MySQL coalesce函数用法说明(转)
- 问题:AttributeError: 'Tensor' object has no attribute 'creator'
- window 2003 实现多用户远程登录
- 我常用的分页存储过程
- 科研 | 中英文期刊分区介绍及查询方法
- PowerBuilder9.0 安装包及注意事项
- matlab求FB色散模型,有效折射率法求矩形波导色散曲线(附Matlab程序)
- 16种常用的数据分析方法-相关分析
- ele 多个表格 tab切换后 多选, 复选出现的问题
- SQL基础系列(七)——CASE表达式
- (4) STM32 AS608指纹识别模块测试代码
- android上怎样让一个Service开机自动启动