MỘT SỐ LỆNH CƠ BẢN CỦA HADOOP (Hadoop HDFS
Commands)
bis.net.vn, chuc1803@gmail.com
Bài viết này giới
thiệu một số lệnh cơ bản của Hadoop (để thực hành bạn phải cài đặt hadoop và đã
cấu hình hadoop cluster, xem cài đặt hadoop tại đây: )
1.help command: hiển thị tất cả các lệnh có sẵn của hadoop và cách sử dụng chúng.
Cú pháp: $ hadoop fs –help
Để xem cách
sử dụng của một câu lệnh cụ thể, dùng -help <lệnh>. Ví dụ để xem cách sử dụng
câu lệnh ls, sử dụng lệnh $ hadoop fs –help ls
2.usage command: sử dụng để xem tất cả các tùy chọn của một lệnh trong hdfs. Ví dụ để xem tất
cả các tùy chọn của lệnh ls trong hdfs, sử dụng: $ hadoop fs –usage ls
3.ls command: liệt kê tất cả các file và thư mục của thư mục hiện hành
Cú pháp: $ hadoop fs -ls
Câu lệnh trên liệt kê tất cả các file và
thư mục /user/cloudera (thư mục mặc định của Cloudera VM. Câu
lệnh trên tương tự: $ hadoop fs –ls /user/cloudera)
$ hadoop fs –ls /
Lệnh trên hiển thị tất cả các file và thư
mục con của thư mục gốc (root directory) của HDFS.
4.mkdir command:
tạo thư mục mới trong HDFS.
Ví dụ: tạo thư mục có tên bigdata trong thư mục /user/cloudera
$ hadoop fs –mkdir /user/cloudera/bigdata
Chú ý: để tạo thư mục
trong thư mục gốc (root directory) bạn phải có quyền truy cập, bạn phải sử dụng
superuser permission để
tạo thư mục trong thư mục gốc. Ví dụ để tạo thư mục bigdata trong thư mục gốc, sử
dụng lệnh sau:
$ sudo –u hdfs hadoop fs –mkdir /bigdata
5.copyFromLocal command:
copy file từ local lên HDFS
Ví dụ có file hello.txt trong thư mục /home/cloudera/Desktop
trên local như sau
Copy file hello.txt
từ /home/cloudera/Desktop lên thư mục /user/cloudera/bigdata trong HDSF như sau (thư mục hiện hành của local là /home/cloudera/Desktop):
$ hadoop fs –copyFromLocal hello.txt /user/cloudera/bigdata
6.put command: giống như lệnh copyFromLocal
Ví dụ để copy file sample1.txt từ thư mục local /home/cloudera/Desktop
lên thư mục /user/cloudera/bigdata trong HDSF, sử dụng
lệnh put như sau
$ hadoop fs –put /home/cloudera/Desktop/sample1.txt /user/cloudera/bigdata
7.moveFromLocal command: lệnh này giống như lệnh put và copyFromLocal nhưng sẽ xóa file gốc ở local
Ví dụ di chuyển file sample2.txt
từ thư mục local /home/cloudera/Desktop
lên thư mục /user/cloudera/bigdata trong HDSF
$hadoop fs –moveFromLocal /home/cloudera/Desktop/sample1.txt /user/cloudera/bigdata
8.copyToLocal: copy file từ HDFS về local
Copy file test.txt trong thư mục
/user/cloudera/bigdata về thư mục /home/cloudera/Desktop của local filesystem
Để copy file từ HDFS về local
còn có lệnh get sử dụng tương tự như lệnh copyFromLocal. Ví dụ để Copy file test.txt trong thư mục
/user/cloudera/bigdata về thư mục /home/cloudera/Desktop của local filesystem sử dụng lệnh get như trên.
9.cat command: xem nội dung file
Xem nội dung file hello.txt trong thư mục /user/cloudera/bigdata:
$ hadoop fs –cat /user/cloudera/bigdata/hello.txt
10.du command:
hiển thị dung lượng của các file
và thư mục; df hiển thị dung lượng của HDFS
$ hadoop
fs –du /user/cloudera/bigdata
$ hadoop fs –df
11.cp command: copy file trong hệ thống HDFS
Tạo thư mục test trong /user/cloudera/
$ hadoop fs –mkdir /user/cloudera/test
Copy file hello.txt trong thư mục /user/cloudera/bigdata sang /user/cloudera/test trong HDFS: $
hadoop fs –cp /user/cloudera/bigdata/hello.txt /user/cloudera/test
12.mv command: di chuyển file trong HDFS
Chuyển tất cả các
file .txt trong thư mục /user/cloudera/bigdata sang
thư mục /user/cloudera/test trong
HDFS
$ hadoop fs –mv /user/cloudera/bigdata/*.txt /user/cloudera/test
13.rm command:
xóa file hoặc thư mục trong HDFS
Xóa file hello.txt
trong thư mục /user/cloudera/bigdata:
$ hadoop fs –rm -r /user/cloudera/bigdata/hello.txt
Xóa thư mục bigdata trong HDFS
$ hadoop fs –rm -r /user/cloudera/bigdata/hello.txt
14.touchz command: tạo file trống trong HDFS
Tạo file trống test1.txt
trong thư mục /user/cloudera/bigdata
$ hadoop fs –touchz /user/cloudera/bigdata/test1.txt
15.getmerge command: lệnh này dùng để gộp nội dung nhiều file trong HDFS thành
1 file và lưu xuống local file.
Hình dưới đây minh
họa gộp 2 file hello1.txt và hello2.txt trong thư mục bigdata trên HDFS thành file
hello_merge.txt lưu trong local file system. Chú ý, sử dụng tham số -nl để thêm
dòng trống vào giữa 2 file
16.appendToFile command: lệnh này bổ sung nội dung vào file, sử dụng tương tự như lệnh
getmerge
XEM VIDEO HƯỚNG DẪN TẠI
ĐÂY