数据科学导论实验演示

2025/10/20

实验1步骤

# 1. 切换目录
cd /usr/local

# 2. 返回上级目录
cd ..

# 3. 回到主目录
cd ~

# 4. 查看 /usr 下所有文件
ls -a /usr

# 5. 在 /tmp 下新建目录 a 并查看数量
cd /tmp
mkdir a
ls -d */ | wc -l

# 6. 创建多级目录
mkdir -p a1/a2/a3/a4

# 7. 删除目录
rmdir /tmp/a
rmdir -p a1/a2/a3/a4

# 8. 文件复制与移动
cp .zshrc .zshrc_back

sudo mv /usr/bashrc1 /usr/local/

# 9. 删除文件与目录
rm .zshrc_back
sudo rm -r /usr/test2

# 10. 查看文件内容
cat .zshrc | head -n 5

实验2步骤

# 1.1 上传文件
./upload.sh A.txt /user/hadoop/input/A.txt
hdfs dfs -cat /user/hadoop/input/A.txt
hdfs dfs -ls -R /user/hadoop/input

# 1.2 下载
./download.sh /user/hadoop/input/child-parent.txt /usr/local/hadoop/zzz

# 1.3 将hdfs的指定文件输出到终端
hdfs dfs -cat /user/hadoop/input/A.txt

# 1.4 显示 HDFS 中指定的文件的读写权限、大小、创建时间、路径等信息
hdfs dfs -ls -h /user/hadoop/input/A.txt

# 1.5 给定 HDFS 中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息,如果该文件是目录,则递归输出该目录下所有文件相关信息
hdfs dfs -ls -R -h /user/hadoop/input
hdfs dfs -ls -R -h /user/hadoop/input/A.txt

# 1.6 提供一个 HDFS 内的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录
echo "hello" | hdfs dfs -put - /user/hadoop/input/C.txt

# 1.7 创建和删除文件夹
# 创建目录 subdir,这个会自动创建 testdir
hdfs dfs -mkdir /user/hadoop/input/aaa

hdfs dfs -rmdir /user/hadoop/input/aaa

# 1.8 头插入或者尾插入
./append.sh /user/hadoop/input/A.txt

# 1.9 删除指定文件
hdfs dfs -rm /user/hadoop/input/C.txt

# 1.10 删除指定文件夹,如果文件夹有内容,则向用户确认
./delete_dir.sh /user/hadoop/input

# 1.11 将文件从源路径移动到目的路径
hdfs dfs -mv /user/hadoop/input/AA.txt /user/hadoop/input/A.txt

# 2 用jar读取hadoop文件
hadoop jar s1instream.jar /user/hadoop/input/A.txt

# 3 用url读取h a doop文件
hadoop jar s2url.jar hdfs://localhost:9000/user/hadoop/input/A.txt

实验3步骤

# 1 实现文件合并和去重
./upload.sh B.txt /user/hadoop/input/B.txt
# 需要先删除/user/hadoop/output
hdfs dfs -rm -r /user/hadoop/output
hadoop jar t1mergeAndDedup1.jar /user/hadoop/input/A.txt /user/hadoop/input/B.txt /user/hadoop/output

hdfs dfs -cat /user/hadoop/output/part-r-00000

# 2 编写程序实现对输入文件的排序
hdfs dfs -mkdir /user/hadoop/input2
hdfs dfs -put file1.txt file2.txt file3.txt /user/hadoop/input2
hadoop jar t2wordSort.jar input2 output2

hdfs dfs -cat /user/hadoop/output2/part-r-00000

# 3 挖掘关系
./upload.sh child-parent.txt /user/hadoop/input3
hadoop jar t3relation.jar input3 output3

hdfs dfs -cat /user/hadoop/output3/part-r-00000


hdfs dfs -rm -r /user/hadoop/output
hadoop jar t1mergeAndDedup1.jar /user/hadoop/input/A.txt /user/hadoop/input/B.txt /user/hadoop/output
hdfs dfs -cat /user/hadoop/output/part-r-00000