国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

熟悉常用的HDFS操作(附錄HDFS常用命令)

這篇具有很好參考價值的文章主要介紹了熟悉常用的HDFS操作(附錄HDFS常用命令)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 學(xué)習(xí)目的

1、理解HDFS在Hadoop體系結(jié)構(gòu)中的角色;

2、熟練使用HDFS操作常用的Shell命令;

3、熟悉HDFS操作常用的Java API

2. 學(xué)習(xí)內(nèi)容

1、編程實現(xiàn)指定功能,并利用Hadoop提供的Shell命令完成相同任務(wù):

2、編程實現(xiàn)一個類“MyFSDataInputStream”,該類繼承“org.apache.hadoop.fs.FSDataInputStream”。

3. 實驗一

編程實現(xiàn)以下指定功能,并利用Hadoop提供的Shell命令完成相同任務(wù)

3.1 追加文本

向HDFS中上傳任意文本文件,如果指定的文件在HDFS中已經(jīng)存在,由用戶指定是追加到原有文件末尾還是覆蓋原有的文件

首先我們啟動我們hadoop的所有結(jié)點(此命令需在sbin目錄下進行),命令:

sh start-all.sh

其中如果你是用管理員權(quán)限創(chuàng)建的目錄,系統(tǒng)啟動讀取時需要你輸入密碼,輸入即可

熟悉常用的HDFS操作(附錄HDFS常用命令)

當(dāng)然如果之前已經(jīng)運行了nameNode和DataNode會顯示運行失敗,可以使用jps查看進程,用kill -9 進程號鯊掉進程再啟動

熟悉常用的HDFS操作(附錄HDFS常用命令)

可以看到其實通過start-all.sh啟動時,會啟動很多服務(wù),我們可以看一下這個腳本里面的內(nèi)容

vim start-all.sh

核心內(nèi)容如下:

# Start all hadoop daemons.  Run this on master node.

echo "This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh"

bin=`dirname "${BASH_SOURCE-$0}"`
bin=`cd "$bin"; pwd`

DEFAULT_LIBEXEC_DIR="$bin"/../libexec
HADOOP_LIBEXEC_DIR=${HADOOP_LIBEXEC_DIR:-$DEFAULT_LIBEXEC_DIR}
. $HADOOP_LIBEXEC_DIR/hadoop-config.sh

# start hdfs daemons if hdfs is present
if [ -f "${HADOOP_HDFS_HOME}"/sbin/start-dfs.sh ]; then
  "${HADOOP_HDFS_HOME}"/sbin/start-dfs.sh --config $HADOOP_CONF_DIR
fi

# start yarn daemons if yarn is present
if [ -f "${HADOOP_YARN_HOME}"/sbin/start-yarn.sh ]; then
  "${HADOOP_YARN_HOME}"/sbin/start-yarn.sh --config $HADOOP_CONF_DIR
fi

可以看到它啟動了start-dfs.shstart-yarn.sh兩個腳本

這兩個腳本在start-all.sh的同級目錄下,請自行研究,主要內(nèi)容就是為了啟動hadoop的組件

上傳本地文件到HDFS

上一次實驗我們其實就已經(jīng)上傳過一個文件到hadoop中了,我們可以通過hadoop fs -ls -R /命令查看(請在hadoop目錄下進行

  • -ls 顯示目錄信息
  • -R遞歸 所以: -ls -R 遞歸顯示文件信息

熟悉常用的HDFS操作(附錄HDFS常用命令)

查看一下文件內(nèi)容,命令:

hadoop fs -cat /root/data/input/log.txt

熟悉常用的HDFS操作(附錄HDFS常用命令)

我們現(xiàn)在直接來修改這個文件,由于上次實驗我們是在/input目錄下建了log.txt文件,這次我們依舊在這里建文件,當(dāng)然文件建在哪里并不重要,請讀者隨意,echo打印,>重定向,這里將打印內(nèi)容輸出到指定目錄的文件中,文件不存在會自動創(chuàng)建

熟悉常用的HDFS操作(附錄HDFS常用命令)

追加到文件末尾的命令(這里最好用絕對路徑):

hadoop fs -appendToFile /input/test2.txt /root/data/input/log.txt

熟悉常用的HDFS操作(附錄HDFS常用命令)

當(dāng)然我們也可以重新上傳一份

命令很簡單,就是把源文件上傳到hadoop的目標(biāo)目錄中,前提是hadoop中要有這個目錄,沒有請使用hadoop fs -mkdir -p /root/data/input創(chuàng)建

hadoop fs -put /input/test2.txt /root/data/input/	

熟悉常用的HDFS操作(附錄HDFS常用命令)

3.2 覆蓋文本

覆蓋文本和追加文本一樣,只是要注意本地文件和hadoop中的目錄都要存在

命令:

hadoop fs -copyFromLocal -f 本地文件路徑 hadoop中文件路徑

我這里在之前的test2.txt中覆蓋一行文本,>>表示重定向并追加,>表示重定向并覆蓋

熟悉常用的HDFS操作(附錄HDFS常用命令)

所以我的命令就是:

hadoop fs -copyFromLocal -f /input/test2.txt /root/data/input/test2.txt

熟悉常用的HDFS操作(附錄HDFS常用命令)

3.3 腳本完成

其實腳本也就是一段能夠執(zhí)行的代碼,在windows平臺上是以.bat的后綴名出現(xiàn)的,在Linux上是以.sh后綴名出現(xiàn)的

if $(hadoop fs -test -e /root/data/input/test2.txt);then $(hadoop fs -appendToFile /input/test2.txt /root/data/input/test2.txt);
else $(hadoop fs -copyFromLocal -f /input/test2.txt /root/data/input/test2.txt);
fi

我們先來分析一下這三行腳本,在Linux的shell腳本中iffi是要成對出現(xiàn)的,表示判斷語句

$()是用來做命令替換用的,表示括號內(nèi)的是一串可以運行的執(zhí)行,而不是字符串,我們還經(jīng)常采用反撇號**``**來做命令替換

thenelse就更好理解了,就是分支語句

Hadoop fs –test –[ezd] PATH 對PATH進行如下類型的檢查:-e PATH是否存在,如果PATH存在,返回0,否則返回1;-z 文件是否為空,如果長度為0,返回0,否則返回1; -d 是否為目錄,如果PATH為目錄,返回0,否則返回1

綜上所示,腳本的作用就是判斷一下你有沒有中hadoop中已經(jīng)存在test2.txt這個文件了,存在就追加,不存在就覆蓋(會默認創(chuàng)建)

接下來我們演示一下,在演示之前我們先將之前hadoop中的test2.txt文件刪除掉

熟悉常用的HDFS操作(附錄HDFS常用命令)

我們就在當(dāng)前目錄下創(chuàng)建這個腳本,起名為test.sh

vim test.sh

輸入腳本(這里你要填你的路徑哦!)

熟悉常用的HDFS操作(附錄HDFS常用命令)

執(zhí)行一下(sh表示用shell腳本執(zhí)行)

sh test.sh

熟悉常用的HDFS操作(附錄HDFS常用命令)

查看一下,可以看到?jīng)]有文件,所以追加了文本

熟悉常用的HDFS操作(附錄HDFS常用命令)

然后再運行一次sh test.sh,可以看到因為文件已經(jīng)存在了,所以這一次是追加文本了

熟悉常用的HDFS操作(附錄HDFS常用命令)

4. 實驗二

4.1 下載文件腳本

從HDFS中下載指定文件,如果本地文件與要下載的文件名稱相同,則自動對下載的文件重命名

上面的腳本會寫了,下面的腳本就很容易理解了

if $(hadoop fs -test -e /input/test2.txt);then $(hadoop fs -copyToLocal /root/data/input/test2.txt /input/test3.txt); 
else $(hadoop fs -copyToLocal /root/data/input/test2.txt /input/test2.txt); 
fi

先判斷一下在本地中有沒有test2.txt這個文件了,有就執(zhí)行下面的代碼也就是下載文件為test3.txt,沒有就下載為test2.txt

這里我們先把之前/input/test2.txt這個文件刪掉,命令為rm -f -f表示強制刪除

接下來我們繼續(xù)創(chuàng)建一個腳本,也在當(dāng)前目錄下

vim test2.sh

熟悉常用的HDFS操作(附錄HDFS常用命令)

我們執(zhí)行一次:

sh test2.sh

熟悉常用的HDFS操作(附錄HDFS常用命令)

可以看到?jīng)]有該文件,所以下載文件文件名為test2.txt

我們再執(zhí)行一次,可以看到生成的是test3.txt

熟悉常用的HDFS操作(附錄HDFS常用命令)

這里可能也會有問題,可能是由于hadoop版本或者是權(quán)限問題不支持判斷本地文件,這里我們知道腳本含義就可以了

4.2 輸出文件內(nèi)容腳本

將HDFS中指定文件的內(nèi)容輸出到終端中

命令:

hadoop fs -cat /root/data/input/test2.txt

其實直接執(zhí)行也可以的,這里直接用簡單的方式將其作為腳本執(zhí)行,讀者也可以自行像上面一樣建個xxx.sh再執(zhí)行

其實腳本不也就是一段可以執(zhí)行的代碼嗎

熟悉常用的HDFS操作(附錄HDFS常用命令)

4.3 顯示單個文件信息腳本

顯示HDFS中指定的文件的讀寫權(quán)限、大小、創(chuàng)建時間、路徑等信息

hadoop fs -ls -h /root/data/input/test2.txt

熟悉常用的HDFS操作(附錄HDFS常用命令)

4.4 顯示目錄信息腳本

給定HDFS中某一個目錄,輸出該目錄下的所有文件的讀寫權(quán)限、大小、創(chuàng)建時間、路徑等信息,如果該文件是目錄,則遞歸輸出該目錄下所有文件相關(guān)信息

hadoop fs -ls -R -h /root/data/input

熟悉常用的HDFS操作(附錄HDFS常用命令)

4.5 自動創(chuàng)建目錄腳本

提供一個HDFS內(nèi)的文件的路徑,對該文件進行創(chuàng)建和刪除操作。如果文件所在目錄不存在,則自動創(chuàng)建目錄

#!/bin/bash
if $(hadoop fs -test -d /root/data/input2);then $(hadoop fs -touchz /root/data/input2/test.txt);
else $(hadoop fs -mkdir -p /root/data/input2 && hadoop fs -touchz /root/data/input2/test.txt);
fi
  • hadoop fs -touchz 遞歸的創(chuàng)建一個文件

這個和之前的太類似了,這里就不贅述了

4.6 追加文件腳本

向HDFS中指定的文件追加內(nèi)容,由用戶指定內(nèi)容追加到原有文件的開頭或結(jié)尾;

hadoop fs -appendToFile 本地目錄/文件 hadoop目錄/文件

4.7 刪除文件腳本

刪除HDFS中指定的文件

hadoop fs -rm /root/data/input/test2.txt

熟悉常用的HDFS操作(附錄HDFS常用命令)

4.8 移動路徑

在HDFS中,將文件從源路徑移動到目的路徑

mv命令詳解

使用方法:hadoop fs -mv URI [URI …]

將文件從源路徑移動到目標(biāo)路徑。這個命令允許有多個源路徑,此時目標(biāo)路徑必須是一個目錄。不允許在不同的文件系統(tǒng)間移動文件。
示例:

  • hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2
  • hadoop fs -mv hdfs://host:port/file1 hdfs://host:port/file2 hdfs://host:port/file3 hdfs://host:port/dir1

返回值:

成功返回0,失敗返回-1

我們將input下面的log.txt移動到output目錄下

hadoop fs -mv /root/data/input/log.txt /root/data/output/log.txt 

熟悉常用的HDFS操作(附錄HDFS常用命令)

5. 實驗三編寫Java代碼

編程實現(xiàn)一個類“MyFSDataInputStream”,該類繼承“org.apache.hadoop.fs.FSDataInputStream”,要求如下:實現(xiàn)按行讀取HDFS中指定文件的方法“readLine()”,如果讀到文件末尾,則返回空,否則返回文件一行的文本

5.1 遠程運行

其實我們在3.1節(jié)中啟動hadoop中所有組件的時候啟動了nodeMange,nodeMange提供了一個網(wǎng)頁來供我們管理我們的結(jié)點和集群,默認端口9000,我們可以在配置文件中找到

熟悉常用的HDFS操作(附錄HDFS常用命令)

管理界面:http://localhost:8088

NameNode界面:http://localhost:50070

HDFS NameNode界面:http://localhost:8042

我這里訪問我的nameNode管理界面,由于我用的是云服務(wù)器,所以地址隱藏了,默認端口50070,在這里你可以對你的集群進行管理

熟悉常用的HDFS操作(附錄HDFS常用命令)

我們可以通過一些端口來獲取hadoop的信息,接下來我們用Java通過hadoop暴露的一些端口來獲取信息

在遠程我們需要使用Maven導(dǎo)入以下jar包?;蛘吣憧梢匀aven的中央倉庫中找到(注意要和你的hadoop版本相匹配)

<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-jdbc</artifactId>
    <version>2.1.1</version>
</dependency>
<dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase-it</artifactId>
    <version>1.2.6</version>
</dependency>
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client</artifactId>
    <version>2.7.3</version>
</dependency>

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-common</artifactId>
    <version>2.7.3</version>
</dependency>
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URI;
import java.net.URISyntaxException;

public class demo {

    public static void main(String[] args) throws URISyntaxException, IOException, InterruptedException {
        
        // 下面的地址是hadoop的地址
        FileSystem fs=FileSystem.get(
                new URI("hdfs://192.168.153.129:9000"), new Configuration(), "root");
        
        // 下面的地址是hadoop的地址,后面的路徑是你要讀取的文件
        FSDataInputStream in = fs.open(new Path(
                "hdfs://192.168.153.129:9000/你的文件名路徑"));

        BufferedReader d = new BufferedReader(new InputStreamReader(in));
        System.out.println("讀取文件:"+remoteFilePath);
        String line;
        while ((line = d.readLine()) != null) { 
        	System.out.println(line)
        } 
        d.close();
        in.close();
        fs.close();
    }
}


這里你執(zhí)行的話會報一個錯

熟悉常用的HDFS操作(附錄HDFS常用命令)

原因是缺少winutils.exe程序,我們需要在自己的電腦上安裝一下這個插件

注意:winutils.exe的版本號一定要和使用的hadoop版本號保持一致?。。?/strong>

下載地址

現(xiàn)在我們來安裝一下(兩種方式)

  • 未配置環(huán)境變量–>配置環(huán)境變量HADOOP_HOME,然后重啟電腦。
  • 或者代碼中設(shè)置System.setProperty(“hadoop.home.dir”, “hadoop安裝路徑”)。

我這里采用方式二

System.setProperty("hadoop.home.dir","D:\\Environment\\Hadoop\\hadoop-common-2.2.0-bin-master\\bin");

完整代碼為:

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URI;
import java.util.Arrays;

/**
 * @author: Eureka
 * @date: 2022/4/27 12:06
 * @Description: 
 */
public class demo {
    public static void main(String[] args) throws Exception {
        System.setProperty("hadoop.home.dir","D:\\Environment\\Hadoop\\hadoop-common-2.2.0-bin-master");
        System.setProperty("HADOOP_USER_NAME","root"); //設(shè)置訪問的用戶
        FileSystem fs = FileSystem.get(new URI("hdfs://你的hadoop訪問地址+端口號"), new Configuration(),"root");
        Path homeDirectory = fs.getHomeDirectory(); //拿到hdfs的根路徑
        System.out.println(homeDirectory);
        FileStatus[] fileStatuses = fs.listStatus(new Path("/root/data/input")); //查看指定路徑下文件狀態(tài)
        System.out.println(Arrays.toString(fileStatuses));//打印文件
        Path path = new Path("/root/data/input/log.txt");
        FSDataInputStream fsDataInputStream = fs.open(path);
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fsDataInputStream));
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            System.out.println(line);//打印指定文件
        }
        bufferedReader.close();//關(guān)閉流
        fsDataInputStream.close();
    }
}

運行結(jié)果:

熟悉常用的HDFS操作(附錄HDFS常用命令)

5.2 Linux端運行

在Linux端運行需要自己手動導(dǎo)入jar包,都在hadoop的目錄下,我們可以將依賴放入jdk的lib目錄下就可以使用了

hadoop-2.10.1/share/hadoop/common
hadoop-2.10.1/share/hadoop/common/bin
hadoop-2.10.1/share/hadoop/hdfs
hadoop-2.10.1/share/hadoop/hdfs/bin

這里我們只需要使用改包進行編譯運行hadoop-common-2.10.1.jar

我們先找到自己jar包的路徑,我的在:

熟悉常用的HDFS操作(附錄HDFS常用命令)

現(xiàn)在我們可以執(zhí)行以下代碼了

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URI;
import java.util.Arrays;
public class demo {
    public static void main(String[] args) throws Exception {
        FileSystem fs = FileSystem.get(new URI("hdfs://127.0.0.1:9000"), new Configuration(),"root");
        Path path = new Path("/root/data/input/log.txt");
        FSDataInputStream fsDataInputStream = fs.open(path);
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fsDataInputStream));
        System.out.println("讀取文件:" + path);
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
        }
        bufferedReader.close();
        fsDataInputStream.close();
    }
}

先建立demo.java文件

vim demo.java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URI;
import java.util.Arrays;

/**
 * @author: 梁峰源
 * @date: 2022/4/27 12:06
 * @Description: TODO
 */
public class demo {

    public static void main(String[] args) throws Exception {
        System.setProperty("HADOOP_USER_NAME","root");
        FileSystem fs = FileSystem.get(new URI("hdfs://127.0.0.1:9000"), new Configuration(),"root");
        Path homeDirectory = fs.getHomeDirectory(); //獲得根文件夾
        System.out.println(homeDirectory); //打印根文件夾
        FileStatus[] fileStatuses = fs.listStatus(new Path("/root/data/input"));
        System.out.println(Arrays.toString(fileStatuses)); //打印根文件夾下面的東西
        Path path = new Path("/root/data/input/log.txt");
        FSDataInputStream fsDataInputStream = fs.open(path);
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fsDataInputStream));
        System.out.println("讀取文件:"+path);
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
        }
        bufferedReader.close();
        fsDataInputStream.close();
    }
}


熟悉常用的HDFS操作(附錄HDFS常用命令)

保存退出

這里需要加載四個路徑下的jar,用extCLassLoader進行加載

/root/fengyuan-liang/hadoop-2.10.1/share/hadoop/common
/root/fengyuan-liang/hadoop-2.10.1/share/hadoop/hdfs
/root/fengyuan-liang/hadoop-2.10.1/share/hadoop/common/lib:
/usr/lib/jvm/jre-1.8.0-openjdk/lib

你要找到自己的jar路徑然后像我下面一下拼接起來

使用編譯命令

javac -Djava.ext.dirs=/root/fengyuan-liang/hadoop-2.10.1/share/hadoop/common:/root/fengyuan-liang/hadoop-2.10.1/share/hadoop/hdfs:/root/fengyuan-liang/hadoop-2.10.1/share/hadoop/common/lib:/usr/lib/jvm/jre-1.8.0-openjdk/lib   demo.java

熟悉常用的HDFS操作(附錄HDFS常用命令)

運行

java -Djava.ext.dirs=/root/fengyuan-liang/hadoop-2.10.1/share/hadoop/common:/root/fengyuan-liang/hadoop-2.10.1/share/hadoop/hdfs:/root/fengyuan-liang/hadoop-2.10.1/share/hadoop/common/lib:/usr/lib/jvm/jre-1.8.0-openjdk/lib   demo

熟悉常用的HDFS操作(附錄HDFS常用命令)

附錄 hadoop常用命令

更多命令請看hadoop官方中文文檔!?。。?!

hadoop官方中文文檔文章來源地址http://www.zghlxwxcb.cn/news/detail-406115.html

1 hadoop fs -ls <path>

   列出指定目錄下的內(nèi)容,支持pattern匹配。輸出格式如filename(full path)<r n>size.n代表備份數(shù)。

2 hadoop fs -lsr <path>

   遞歸列出該路徑下所有子目錄信息

3 hadoop fs -du<path>

顯示目錄中所有文件大小,或者指定一個文件時,顯示此文件大小

4 hadoop fs -dus<path>

顯示文件大小 相當(dāng)于 linux的du -sb s代表顯示只顯示總計,列出最后的和 b代表顯示文件大小時以byte為單位

5 hadoop fs -mv <src> <dst> 

將目標(biāo)文件移動到指定路徑下,當(dāng)src為多個文件,dst必須為目錄

6 hadoop fs -cp <src> <dst>

拷貝文件到目標(biāo)位置,src為多個文件時,dst必須是個目錄

7 hadoop fs -rm [skipTrash] <src>

刪除匹配pattern的指定文件

8 hadoop fs -rmr [skipTrash] <src>

遞歸刪除文件目錄及文件

9 hadoop fs -rmi [skipTrash] <src>

為了避免誤刪數(shù)據(jù),加了一個確認

10 hadoop fs -put <> ... <dst>

從本地系統(tǒng)拷貝到dfs中

11 hadoop fs -copyFromLocal<localsrc>...<dst>

從本地系統(tǒng)拷貝到dfs中,與-put一樣

12 hadoop fs -moveFromLocal <localsrc>...<dst>

從本地系統(tǒng)拷貝文件到dfs中,拷貝完刪除源文件

13 hadoop fs -get [-ignoreCrc]  [-crc] <src> <localdst>

 從dfs中拷貝文件到本地系統(tǒng),文件匹配pattern,若是多個文件,dst必須是個目錄

14 hadoop fs -getmerge  <src> <localdst>

從dfs中拷貝多個文件合并排序為一個文件到本地文件系統(tǒng)

15 hadoop fs -cat <src>

輸出文件內(nèi)容

16 hadoop fs -copyTolocal [-ignoreCre] [-crc] <src> <localdst>

與 -get一致

17 hadoop fs -mkdir <path>

在指定位置創(chuàng)建目錄

18 hadoop fs -setrep [-R] [-w] <rep> <path/file>

設(shè)置文件的備份級別,-R標(biāo)志控制是否遞歸設(shè)置子目錄及文件

19 hadoop fs -chmod [-R] <MODE[,MODE]...|OCTALMODE>PATH

修改文件權(quán)限, -R遞歸修改 mode為a+r,g-w,+rwx ,octalmode為755

20 hadoop  fs -chown [-R] [OWNER][:[GROUP]] PATH

遞歸修改文件所有者和組

21 hadoop fs -count[q] <path>

統(tǒng)計文件個數(shù)及占空間情況,輸出表格列的含義分別為:DIR_COUNT.FILE_COUNT.CONTENT_SIZE.FILE_NAME,如果加-q 的話,還會列出QUOTA,REMAINING_QUOTA,REMAINING_SPACE_QUOTA

Hadoop fs –test –[ezd] PATH     對PATH進行如下類型的檢查:-e PATH是否存在,如果PATH存在,返回0,否則返回1;-z 文件是否為空,如果長度為0,返回0,否則返回1; -d 是否為目錄,如果PATH為目錄,返回0,否則返回1

到了這里,關(guān)于熟悉常用的HDFS操作(附錄HDFS常用命令)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Hadoop 使用Linux操作系統(tǒng)與Java熟悉常用的HDFS操作

    Hadoop 使用Linux操作系統(tǒng)與Java熟悉常用的HDFS操作

    注意看評論區(qū)獲取完整代碼資料 目錄 一、實驗?zāi)康?二、實驗平臺 三、實驗步驟 理解HDFS在Hadoop體系結(jié)構(gòu)中的角色; 熟練使用HDFS操作常用的Shell命令; 熟悉HDFS操作常用的Java API。 操作系統(tǒng):Linux(建議Ubuntu16.04); Hadoop版本:2.7.1; JDK版本:1.8或以上版本; Java IDE:Eclipse。

    2024年02月03日
    瀏覽(22)
  • 大數(shù)據(jù)技術(shù)原理及應(yīng)用課實驗2 :熟悉常用的HDFS操作

    大數(shù)據(jù)技術(shù)原理及應(yīng)用課實驗2 :熟悉常用的HDFS操作

    實驗2 ?熟悉常用的HDFS操作 目錄 實驗2 ?熟悉常用的HDFS操作 一、實驗?zāi)康?二、實驗平臺 三、實驗步驟(每個步驟下均需有運行截圖) (一)編程實現(xiàn)以下功能,并利用Hadoop提供的Shell命令完成相同任務(wù): (1)向HDFS中上傳任意文本文件,如果指定的文件在HDFS中已經(jīng)存在,則

    2024年04月14日
    瀏覽(36)
  • 大數(shù)據(jù) | 實驗一:大數(shù)據(jù)系統(tǒng)基本實驗 | 熟悉常用的HDFS操作

    大數(shù)據(jù) | 實驗一:大數(shù)據(jù)系統(tǒng)基本實驗 | 熟悉常用的HDFS操作

    1 )理解 HDFS 在 Hadoop 體系結(jié)構(gòu)中的角色。 2 )熟練使用 HDFS 操作常用的 shell 命令。 3 )熟悉 HDFS 操作常用的 Java API。 1 )操作系統(tǒng):Linux; 2 )Hadoop 版本:3.2.2; 3 )JDK 版本:1.8; 4 )Java IDE:Eclipse。 編程實現(xiàn) 以下功能,并利用 Hadoop 提供的 Shell 命令 完成相同任務(wù) 1)向

    2024年02月02日
    瀏覽(24)
  • 熟悉常用的HDFS操作(大數(shù)據(jù)技術(shù)原理與應(yīng)用-第三章實驗)

    熟悉常用的HDFS操作(大數(shù)據(jù)技術(shù)原理與應(yīng)用-第三章實驗)

    首先啟動Hadoop,命令如下: 在終端輸入如下命令,查看 hdfs dfs 總共支持哪些操作: 上述命令執(zhí)行后,會顯示如下的結(jié)果: 如果顯示 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable ,說明環(huán)境變量 JAVA_LIBRARY_PATH 并未定義,首

    2024年02月01日
    瀏覽(20)
  • 【Hadoop-HDFS】HDFS常用操作命令

    hadoop fs -ls / 普通創(chuàng)建: hadoop fs -mkdir /xiaolin 遞歸創(chuàng)建: hadoop fs -mkdir -p /xiaolin/xiaoyin mkdir xuan.txt hadoop fs -moveFromLocal xuan.txt /xiaolin hadoop fs -copyFromLocal xuan.txt / hadoop fs -put xuan.txt / 文件名稱相同時覆蓋hdfs上的文件: -f hadoop fs -put -f xuan.txt / hadoop fs -copyToLocal /xiaolin ./ hadoop fs -get

    2024年02月05日
    瀏覽(20)
  • HDFS操作常用的Shell命令

    HDFS操作常用的Shell命令

    目錄 (1)?? 向HDFS 中上傳任意文本文件,如果指定的文件在HDFS中已經(jīng)存在,由用戶指定是追加到原有文件末尾還是覆蓋原有的文件; (2)?? 從HDFS中下載指定文件,如果本地文件與要下載的文件名稱相同,則自動對下載的文件重命名; (3)?? 將HDFS中指定文件的內(nèi)容輸出到終端中

    2023年04月10日
    瀏覽(59)
  • Hadoop HDFS shell 命令行常用操作

    前言:Hadoop HDFS shell的命令和Linux的shell命令有類似的地方,基本上會使用Linux命令的話,把HDFS的理論理解一下就可以了。 一、創(chuàng)建文件夾 ?path為待創(chuàng)建的目錄 ?-p選項的行為與unix mkdir -p類似,他會沿著路經(jīng)創(chuàng)建父目錄 二、查看指定目錄下的內(nèi)容 ?Path指定目錄路徑 -h人性化顯

    2024年02月04日
    瀏覽(54)
  • 大數(shù)據(jù):HDFS的Shell常用命令操作

    大數(shù)據(jù):HDFS的Shell常用命令操作

    HDFS允許用戶數(shù)據(jù)組織成文件和文件夾的方式,它提供一個叫DFSShell的接口,使用戶可以和HDFS中的數(shù)據(jù)交互。命令集的語法跟其他用戶熟悉的shells(bash,csh)相似。 Shell在計算機科學(xué)中俗稱“殼”,是提供給使用者使用界面的進行與系統(tǒng)交互的軟件,通過接收用戶輸入的命令執(zhí)

    2023年04月09日
    瀏覽(35)
  • 熟悉MySQL和HDFS操作

    熟悉MySQL和HDFS操作

    1.使用Python操作MySQL數(shù)據(jù)庫 在Windows系統(tǒng)中安裝好MySQL8.0.23和Python3.8.7,然后再完成下面題目中的各項操作。 現(xiàn)有以下三個表格: 表1 學(xué)生表:Student(主碼為Sno) 學(xué)號(Sno) 姓名(Sname) 性別(Ssex) 年齡(Sage) 所在系別(Sdept) 10001 Jack 男 21 CS 10002 Rose 女 20 SE 10003 Michael 男

    2024年02月08日
    瀏覽(24)
  • 【大數(shù)據(jù)學(xué)習(xí)篇3】HDFS命令操作與MR單詞統(tǒng)計

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包