亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java怎么實現HDFS文件上傳下載

發布時間:2022-06-23 14:09:10 來源:億速云 閱讀:173 作者:iii 欄目:開發技術

今天小編給大家分享一下Java怎么實現HDFS文件上傳下載的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

1、pom.xml配置

<!--配置-->
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <hadoop.version>3.1.3</hadoop.version>
</properties>
<!--依賴庫-->
<dependencies>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-common</artifactId>
          <version>${hadoop.version}</version>
    </dependency>
    <dependency>
         <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-mapreduce-client-core</artifactId>
          <version>${hadoop.version}</version>
    </dependency>
</dependencies>

2、創建與刪除

//導包
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.IOException;
public static void main( String[] args ){
    //初始化hadoop文件系統的configration對象
    Configuration conf = new Configuration();
    //將hadoop的configration信息傳入
    conf.set("fs.defaultFS","hdfs://192.168.50.102:9000");
    //初始化Hadoop文件系統的句柄
    FileSystem fs=null;
    try {
        //配置Hadoop的文件句柄信息
        fs=FileSystem.get(conf);
        //定義Hadoop的文件路徑
        final String PATH="/test/kb16/hadoop/ratings.csv";
        //初始化Hadoop的路徑信息
        Path path = new Path(PATH);
        //如果文件路徑存在就刪除
        if (fs.exists(path)) {
            System.out.println("DELETE "+fs.delete(path, true));
        }else{
            //如果文件路徑不存在就創建
            System.out.println("CREATE "+fs.create(path));
        }
    } catch (IOException e) {
        e.printStackTrace();
    }finally {
        //結束的時候,句柄還沒有釋放就進行釋放
        if (fs!=null) {
            try {
                fs.close() ;
            }catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

3、文件上傳

//導包
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.File;
import java.io.IOException;
public static void main(String[] args) {
    //定義本地上傳文件路徑
    final String formPath="E:\\ratings.csv";
    //本地文件不存在就報錯,并強制讓程序終止
    if (!new File(formPath).exists()) {
        System.out.println(formPath +"doesn't exits");
        return;
    }
    //初始化hadoop文件系統的configration對象
    Configuration conf = new Configuration();
    //將hadoop的configration信息傳入
    conf.set("fs.defaultFS","hdfs://192.168.50.102:9000");
    //初始化Hadoop文件系統的句柄
    FileSystem fs=null;
    try {
        //將config信息傳入
        fs=FileSystem.get(conf);
        //定義上傳到HDFS的路徑
        final String toPath="/test/kb16/hive";
        //初始化路徑
        Path to =new Path(toPath);
        //如果文件路徑存在不執行,如果文件路徑不存在就嘗試創建,如果創建失敗就跳過
          if (!fs.exists(to)&& !fs.mkdirs(to)) {
            System.out.println(toPath +"doesn't exit and can't be created");
            return;
        }
        //初始化上傳文件路徑
        Path from=new Path(formPath);
        //利用方法將本地文件復制到HDFS中
        fs.copyFromLocalFile(from, to);
        System.out.println("succeed in copying from "+formPath+" to "+toPath);
    } catch (IOException e) {
        e.printStackTrace();
        System.out.println("FAILURE");
    }finally{
        //如果結束Hadoop文件系統句柄沒有關閉,利用方法進行句柄釋放
        if (null!=fs) {
            try {
                fs.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

4、文件下載

//導包
import com.google.inject.internal.cglib.core.$LocalVariablesSorter;
import com.google.inject.internal.cglib.proxy.$Factory;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.File;
import java.io.IOException;
public class Download {
    public static void main(String[] args) {
        //定義文件下載路徑
        final String toPath = "C:\\Users\\Jialin\\Desktop";
        //獲取路徑
        File to = new File(toPath);
        //如果路存在或者文件路徑不存在但是創建成功就不執行if方法
        if (!to.exists()&&!to.mkdirs()) {
            System.err.println(toPath + "doesn't exist and can't be created");
            return;
        }
        //初始化hadoop文件系統的configration對象
        Configuration config = new Configuration();
        //將hadoop的configration信息傳入
        config.set("fs.defaultFS", "hdfs://192.168.50.102:9000");
        //初始化Hadoop文件系統的句柄
        FileSystem fs = null;
        try {
            //將config信息傳入
            fs = FileSystem.get(config);
            //定義下載文件路徑
            final String fromPath = "/test/kb16/hive/ratings.csv";
            //獲取路徑信息
            Path from = new Path(fromPath);
            //如果指定下載文件不存在就退出
            if (!fs.exists(from)) {
                System.err.println(toPath + "doesn't exist ");
                return;
            }
            //獲取文件下載路徑信息
            Path _to = new Path(toPath);
            //利用方法將Hadoop文件下載到本地
            fs.copyToLocalFile(from,_to);
            System.out.println("succeed in downloading from "+fromPath+" to"+toPath);
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("FAILURE");
        } finally {
            //如果結束Hadoop文件系統句柄沒有關閉,利用方法進行句柄釋放
            if (null != fs)
                try {
                    fs.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
        }
    }
}

以上就是“Java怎么實現HDFS文件上傳下載”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

磴口县| 漳州市| 高要市| 酒泉市| 克什克腾旗| 蛟河市| 本溪市| 丹巴县| 泌阳县| 海兴县| 汕尾市| 三都| 江油市| 梅河口市| 大英县| 乌兰浩特市| 库车县| 金湖县| 临湘市| 永宁县| 华池县| 涡阳县| 宝鸡市| 拜城县| 莫力| 民丰县| 偏关县| 高碑店市| 康平县| 旅游| 定结县| 汤阴县| 驻马店市| 莆田市| 延安市| 盐津县| 祁门县| 玉树县| 沾化县| 固安县| 山东省|