hadoop shell操作HDFS文件

news2024/12/26 0:21:41

一.常用的 hadoop shell

文件路径需要自己有才行,示例中的文件路径是本人自己的文件路径,不是公共文件路径,如何建立自己的数仓,查看本人 大数据单机学习环境搭建 相关文章

1.1查看 创建 删除

# 列出当前hdfs所存贮的文件
hadoop fs -ls /
# user下的所有内容
hadoop fs -ls -R /user
# user下级目录的内容
hadoop fs -ls -h /user

# 创建文件
hadoop fs -mkdir /abc
# 创建多级目录
hadoop fs -mkdir -p /abc/mm/ff

# 把/abc目录下面的123.txt文件删除掉
hadoop fs -rm -r /abc/123.txt

1.2上传 查看 下载

# 上传/home/caw/demo_test_data.txt文件到/user/hive/warehouse/demo.db/test文件夹下
hadoop fs -put /home/caw/demo_test_data.txt /user/hive/warehouse/demo.db/test
# 小文件合并,本地2.txt 3.txt,合并上传到hdfs的1.txt
hadoop fs -appendToFile 2.txt 3.txt /1.txt

# 查看文件000000_0的内容
hadoop fs -cat /user/hive/warehouse/demo.db/test/000000_0

# 文件下载到/home/caw/桌面/test.txt
hadoop fs -get /user/hive/warehouse/demo.db/test/000000_0 /home/caw/桌面/test.txt
# test下面有两个文件分别为000000_0 和demo_test_data.txt ,我们想同时下载两个文件,并且下载到本地的时候自动将两个文件合并
hadoop fs -getmerge /user/hive/warehouse/demo.db/test/000000_0 /user/hive/warehouse/demo.db/test/demo_test_data_copy_1.txt /home/caw/桌面/test.txt

1.3修改 复制

# abc目录下面的abc1.txt移动到/abc/mm下面
hadoop fs -mv /abc/abc1.txt /abc/mm
# 把demo_test_data_copy_1.txt.txt改个名字叫000000_1
hadoop fs -mv /user/hive/warehouse/demo.db/test/demo_test_data_copy_1.txt /user/hive/warehouse/demo.db/test/000000_1
# 把刚才的/abc/mm/123.txt给复制到/abc下面
hadoop fs -cp /abc/mm/123.txt /abc

1.4权限修改

# 修改文件的权限 
hadoop fs chmod 文件权限 文件 
hadoop fs -chmod -R 777 /user/hive/warehouse/tms_app.db/cust_id_tb

1.5文件监听

# 监听文件
hadoop fs -tail -f 
# 监听的必须是文件不能是文件夹
hadoop fs -tail -f /user/hive/warehouse/null_demo/null_demo.txt

1.6更多方法

hadoop fs -help查看更多用法

hadoop fs [generic options]
        [-appendToFile <localsrc> ... <dst>]
        [-cat [-ignoreCrc] <src> ...]
        [-checksum [-v] <src> ...]
        [-chgrp [-R] GROUP PATH...]
        [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
        [-chown [-R] [OWNER][:[GROUP]] PATH...]
        [-concat <target path> <src path> <src path> ...]
        [-copyFromLocal [-f] [-p] [-l] [-d] [-t <thread count>] [-q <thread pool queue size>] <localsrc> ... <dst>]
        [-copyToLocal [-f] [-p] [-crc] [-ignoreCrc] [-t <thread count>] [-q <thread pool queue size>] <src> ... <localdst>]
        [-count [-q] [-h] [-v] [-t [<storage type>]] [-u] [-x] [-e] [-s] <path> ...]
        [-cp [-f] [-p | -p[topax]] [-d] [-t <thread count>] [-q <thread pool queue size>] <src> ... <dst>]
        [-createSnapshot <snapshotDir> [<snapshotName>]]
        [-deleteSnapshot <snapshotDir> <snapshotName>]
        [-df [-h] [<path> ...]]
        [-du [-s] [-h] [-v] [-x] <path> ...]
        [-expunge [-immediate] [-fs <path>]]
        [-find <path> ... <expression> ...]
        [-get [-f] [-p] [-crc] [-ignoreCrc] [-t <thread count>] [-q <thread pool queue size>] <src> ... <localdst>]
        [-getfacl [-R] <path>]
        [-getfattr [-R] {-n name | -d} [-e en] <path>]
        [-getmerge [-nl] [-skip-empty-file] <src> <localdst>]
        [-head <file>]
        [-help [cmd ...]]
        [-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [-e] [<path> ...]]
        [-mkdir [-p] <path> ...]
        [-moveFromLocal [-f] [-p] [-l] [-d] <localsrc> ... <dst>]
        [-moveToLocal <src> <localdst>]
        [-mv <src> ... <dst>]
        [-put [-f] [-p] [-l] [-d] [-t <thread count>] [-q <thread pool queue size>] <localsrc> ... <dst>]
        [-renameSnapshot <snapshotDir> <oldName> <newName>]
        [-rm [-f] [-r|-R] [-skipTrash] [-safely] <src> ...]
        [-rmdir [--ignore-fail-on-non-empty] <dir> ...]
        [-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
        [-setfattr {-n name [-v value] | -x name} <path>]
        [-setrep [-R] [-w] <rep> <path> ...]
        [-stat [format] <path> ...]
        [-tail [-f] [-s <sleep interval>] <file>]
        [-test -[defswrz] <path>]
        [-text [-ignoreCrc] <src> ...]
        [-touch [-a] [-m] [-t TIMESTAMP (yyyyMMdd:HHmmss) ] [-c] <path> ...]
        [-touchz <path> ...]
        [-truncate [-w] <length> <path> ...]
        [-usage [cmd ...]]

二.一个小案例

本节内容以SQL使用技巧(5)NULL值和空值的重要说明的数据构造为例,展示hadoop shell的 查看ls、上传put、删除rm 、内容展示cat 等 hadoop fs 操作

2.1Hive建表

location位置非常关键,直接决定Hive能否通过metastore的源信息找到HDFS文件并成功解析

create table null_demo(
  id bigint, 
  name string, 
  age int, 
  city string, 
  address string, 
  notes string)
row format DELIMITED
    fields terminated by ',' 
;

验证建表
hadoop fs -ls /user/hive/warehouse
在这里插入图片描述

2.2上传数据

将数据put到hadoop,存为HDFS
hadoop fs -put /home/null_demo.txt /user/hive/warehouse/null_demo
在这里插入图片描述
在这里插入图片描述

2.3sed流编辑器替换

替换文本中的单引号 sed -i "s?'??g" /home/null_demo.txt
在这里插入图片描述

2.4删除错误数据的文件

删除错误数据,重新上传替换单引号后的文件
hadoop fs -rm -r /user/hive/warehouse/null_demo/null_demo.txt
hadoop fs -ls /user/hive/warehouse
在这里插入图片描述
重新上传修改后的文本
hadoop fs -put /home/null_demo.txt /user/hive/warehouse/null_demo

2.5查看HDFS文件内容

hadoop fs -cat /user/hive/warehouse/null_demo/null_demo.txt
在这里插入图片描述

2.6Hive查询结果验证

select * from null_demo;
在这里插入图片描述

2.7小文件的get方法

未完待续


声明:本文所载信息不保证准确性和完整性。文中所述内容和意见仅供参考,不构成实际商业建议,可收藏可转发但请勿转载,如有雷同纯属巧合

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/507164.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

模式串匹配算法(朴素模式匹配与KMP)的机算与手算。

一.朴素模式匹配 1.机算 其实就是暴力匹配。 使用双指针 i (指向主串) j (指向模式串) 从主串 S 第一字符起,与模式串 T, 第一个字符比较&#xff0c;   ①若相同&#xff0c;则 i 与 j 统一向后移   ②若遇到 i 与 j 指向字符不同&#xff0c;回溯 i j 指针。继续如此&a…

经验分享|如何搭建产品帮助文档

作为一款优秀的产品&#xff0c;除了功能强大、易于使用等特点外&#xff0c;相应的使用说明和帮助文档也是至关重要的&#xff0c;这些说明和文档可以帮助用户更好地使用这款产品&#xff0c;并解决在使用过程中的问题。本篇文章将为大家详细介绍如何搭建一份优秀的产品帮助文…

12-Vue技术栈之Vuex的使用

目录 1、理解 vue1.1 vuex 是什么1.2 什么时候使用 Vue1.3 图解两种方式实现数据共享 2、搭建vuex环境2.1 下载vuex2.2 配置文件 3、基本使用3.1 求和案例纯vue写法3.2 求和案例vuex写法 4、getters的使用5、四个map方法的使用5.1 求和案例 6、 模块化命名空间6.1求和案例改造 …

C++“static“成员使用

1.static 成员概念 声明为static的类成员称为类的静态成员&#xff0c;用static修饰的成员变量&#xff0c;称之为静态成员变量&#xff1b;用static修饰的成员函数&#xff0c;称之为静态成员函数。静态成员变量一定要在类外进行初始化。 1.2 static特性 静态成员为所有类对…

JVM学习(十):方法区

目录 一、栈、堆和方法区的交互关系 二、对方法区的理解 2.1 方法区在哪里 2.2 方法区的基本概念 2.3 Hotspot中方法区的演进 三、方法区的大小 3.1 设置参数 3.1.1 jdk7及以前 3.1.2 jdk8以后&#xff1a; 3.2 配置参数演示OOM 四、方法区的内部结构 4.1 方法区里…

【Java虚拟机】JVM调优和分析案例综合实战

1.什么是JVM性能优化 jvm性能优化涉及到两个很重要的概念&#xff1a;吞吐量和响应时间。jvm调优主要是针对他们进行调整优化&#xff0c;达到一个理想的目标&#xff0c;根据业务确定目标是吞吐量优先还是响应时间优先。 吞吐量&#xff1a;用户代码执行时间/(用户代码执行时…

C语言学习分享(第六次)------数组

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C语言学习分享⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多C语言知识   &#x1f51d;&#x1f51d; 数组详解 1. 前言&#x1f536;2. …

使用 spring 的 IoC 的实现账户的CRUD(2)双层实现

spring实现service和dao的数据的查找 dao层设置接口实现dao层的接口service设置接口通过注入dao层&#xff0c;来实现接口 //dao层的接口&#xff0c;定义了根据id查询的方法 public interface Accountdao {Account findByid(int id); }实现接口&#xff1a;实现了查询的方法 …

【模板】拓扑排序

import java.util.Scanner; import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);int point in.nextInt();int side in.nextInt();int[][] arr new i…

MacOS下安装和配置Nginx

一、安装brew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"按回车后&#xff0c;根据提示操作&#xff1a;输入镜像序号 --> 输入Y&#xff0c;回车等待brew安装完成即可。 在终端输入brew -v后&#xff0c;会提示…

【牛客刷题专栏】0x25:JZ24 反转链表(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转)&#xff0c;它登陆后会保存刷题记录进度&#xff0c;重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏&#xff1a;个人CSDN牛客刷题专栏。 题目来自&#xff1a;牛客/题库 / 在线编程 / 剑指offer&#xff1a; 目录 前言问…

Jedis客户端和SpringDataRedis客户端

目录 3.Redis的Java客户端 3.1.Jedis客户端 3.1.1.快速入门 3.1.2.连接池 3.2.SpringDataRedis客户端 3.2.1.快速入门 3.2.2.自定义序列化 3.2.3.StringRedisTemplate 3.Redis的Java客户端 3.1.Jedis客户端 Jedis的官网地址&#xff1a; GitHub - redis/jedis: Redis…

单片机中时钟分析与快速读懂时序图的方法

目录 一、时钟电路 二、周期 三、时序 我们都知道在学校是通过铃声来控制所有班级的上下课时间&#xff0c;那个单片机是通过什么样的办法进行取指令&#xff0c;执行指令和其它操作的呢&#xff1f;在这里引入了一个时序的概念。 一、时钟电路 单片机时钟电路有三种方式…

LoadRunner的简单使用

目录 1、LoadRunner工具介绍 2、VUG的使用 3、Controller的使用 3.1、场景设计 3.2、场景运行及结果 4、Analysis的使用 1、LoadRunner工具介绍 Virtual User Generator&#xff1a;主要用来生成性能测试脚本Controller&#xff1a;创建测试场景&#xff0c;运行测试脚本、…

民用电力远程监控解决方案

民用电力远程监控解决方案 项目背景 随着我国城市现代化的飞速发展&#xff0c;城市配电系统的不断改造更新&#xff0c;信息化、网络化和智能化的快速发展&#xff0c;要求箱变安全稳定运行&#xff0c;出现故障能够及时排除保证快速供电。 但是&#xff0c;电力行业的监控…

如何挖掘闲置硬件资源的潜力-PrestoDB缓存加速实践小结

用户体验的追求是无限的&#xff0c;而成本是有限的&#xff0c;如何平衡&#xff1f; 用户体验很重要&#xff0c;降本也很重要。做技术的都知道&#xff0c;加机器堆资源可以解决绝大多数的用户觉得慢的问题&#xff0c;但要加钱。没什么用户体验是开发不了的&#xff0c;但…

阿里高P谈内卷,基础牢固才能破局,你的技术栈深度跟广度真的够么?

​ ​ 最近内卷严重&#xff0c;各种跳槽裁员&#xff0c;分享一套学习笔记 / 面试手册&#xff0c;准备跳槽的朋友可以好好刷一刷&#xff0c;还是挺有必要的&#xff0c;它几乎涵盖了所有的软件测试技术栈&#xff0c;非常珍贵&#xff0c;肝完进大厂&#xff01;妥妥的。相信…

PID算法(位置式pid算法和增量式pid算法)

这里写目录标题 PID算法介绍比例环节比例积分环节比例积分微分环节 位置式PID增量式PIDPID参数整定采样周期选择PID参数整定方法![请添加图片描述](https://img-blog.csdnimg.cn/849bf1672243484699b131b487f05a55.png)试凑法临界比例法一般调节法 PID算法介绍 PID 算法是闭环…

使用Process Monitor探测Windows系统高DPI缩放设置的注册表项

目录 1、在高显示比例下部分软件界面显示模糊问题 2、如何设置才能使得软件显示的清晰一些&#xff1f; 3、使用Process Monitor监测上述设置对应的注册表的操作 4、最后 VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&#xff…

分布式 04 nginx 的使用

01.Nginx可以理解成为一个代理运营商在计算机网络中。用户发送的请求在Nginx中处理&#xff0c;而后分配给相关的服务器 02.在Nginx文件中conf文件件&#xff0c;中修改nginx.conf文件 首先先去监听和获取请求&#xff0c;使用关键字server 这个是浏览器url中输入localhost时…