12_hadoop
Local FS : linux fs
分布式文件系统
1.HDFS:
1.1 hdfs 相关操作
1.linux 命令
2.java code
1.2 hdfs 操作命令
查看hdfs ls:
1.hadoop fs -ls /
fs)
HADOOP_CLASSNAME=org.apache.hadoop.fs.FsShell
2.hdfs dfs -ls /
dfs)
HADOOP_CLASSNAME=org.apache.hadoop.fs.FsShell
创建文件夹: mkdir
hadoop fs -mkdir
[hadoop@bigdata31 bin]$ hadoop fs -mkdir /hdfs01
[hadoop@bigdata31 bin]$ hadoop fs -ls /
Found 5 items
drwxr-xr-x - hadoop supergroup 0 2022-11-11 23:03 /data
drwxr-xr-x - hadoop supergroup 0 2022-11-15 17:11 /hdfs01
drwxr-xr-x - hadoop supergroup 0 2022-11-11 23:08 /out
drwxr-xr-x - hadoop supergroup 0 2022-11-14 18:32 /out2
drwx------ - hadoop supergroup 0 2022-11-14 18:31 /tmp
移动、拷贝 mv cp
[hadoop@bigdata31 bin]$ hadoop fs -mv /data /hdfs01/
删除 rm
[-rm [-f] [-r|-R] [-skipTrash] [-safely] …]
[hadoop@bigdata31 bin]$ hadoop fs -ls /
Found 4 items
drwxr-xr-x - hadoop supergroup 0 2022-11-15 17:13 /hdfs01
drwxr-xr-x - hadoop supergroup 0 2022-11-11 23:08 /out
drwxr-xr-x - hadoop supergroup 0 2022-11-14 18:32 /out2
drwx------ - hadoop supergroup 0 2022-11-14 18:31 /tmp
[hadoop@bigdata31 bin]$ hadoop fs -rm -r /out
Deleted /out
[hadoop@bigdata31 bin]$ hadoop fs -ls /
-skipTrash : hdfs 回收站
fs.trash.interval 0 10080 7天
fs.trash.interval 10080生产上:
1.开启回收站 回收站 有效期 至少7天以上
补充:1.log
uri:
1.hdfs上的文件
hdfs://bigdata32:9000/1.log
/1.log
[hadoop@bigdata33 ~]$ hadoop fs -ls hdfs://bigdata32:9000/1.log
[hadoop@bigdata33 ~]$ hadoop fs -ls /1.log
2.local 上的文件=>linux
file:///1.log:
[hadoop@bigdata33 ~]$ hadoop fs -ls file:home/hadoop/1.log
上传 、下载:
put copyfromlocal :
[hadoop@bigdata33 ~]$ hadoop fs -put ./2.log ./3.log /
[hadoop@bigdata33 ~]$ hadoop fs -ls /
[hadoop@bigdata33 ~]$ hadoop fs -copyFromLocal ./2.log /data
[hadoop@bigdata33 ~]$ hadoop fs -ls /data
get copytolocal:
[hadoop@bigdata33 tmp]$ hadoop fs -get /data ./
[hadoop@bigdata33 tmp]$ ll
total 4
drwxr-xr-x. 2 hadoop hadoop 4096 Nov 15 18:07 data
[hadoop@bigdata33 tmp]$ hadoop fs -get /data ./datahdfs
chmod : 权限
[hadoop@bigdata33 tmp]$ hadoop fs -chmod 664 /1.log
[hadoop@bigdata33 tmp]$ hadoop fs -ls /
chown :拥有者
[hadoop@bigdata33 tmp]$ hadoop fs -chown zihang:DL2262 /1.log
[hadoop@bigdata33 tmp]$ hadoop fs -ls /
查看文件内容:cat
[hadoop@bigdata33 tmp]$ hadoop fs -cat /1.log
111
222
333
练习:hdfs命令
1.创建/hdfspre/01/02/03 文件夹
2.上传本地文件 1.log 到/hdfspre/01
3.上传本地文件 1.log 到/hdfspre/01/02
4.上传本地文件 1.log 到/hdfspre/01/02/03
4.本地更新1.log 文件内容添加bigdata 并 上传本地文件 1.log 到/hdfspre/01/02/03
5.修改/hdfspre/01/02/03/1.log 权限是 765
6.删除 /hdfspre/01/1.log 到回收站
7.修改/hdfspre/01/02/1.log 名字为 /hdfspre/01/02/1_blk.log
8.下载/hdfspre 目录到本地 ~/tmp 目录
9.查看hdfs上/ 目录文件大小
10.查看hdfs上/hdfspre/01/02/03/ 下文件内容
- java api hdfs
1.单元测试
2.正题: org.apache.hadoop hadoop-client 3.3.4
作业:
1.使用java api 操作 hdfs在 创建文件夹
/data/dt=20221114
/data/dt=20221115
/data/dt=20221116
2.使用java api 上传本地 wc.txt 到上面三个目录下
3.使用java api 将
/data/dt=20221114/wc.txt
/data/dt=20221115/wc.txt
/data/dt=20221116/wc.txt
目录下的文件移动到 指定目录 并进行改名字
/data/hive/20221114-01.data
/data/hive/20221115-01.data
/data/hive/20221116-01.data