Java が HDFS 上のファイルを読み取るプロセス全体を記録します。


序文

        Baige に従って Java を学びましょう。今日は、Java がファイルを hdfs にアップロードする方法を共有します。


提示:以下是一点见解

1. プロジェクトの大まかな流れ

        HDFS にアップロードしたい場合は、まず HDFS とは何かを知る必要があります。

        本質: HDFS の中国語訳は、 Hadoop 分散ファイル システム(Hadoop 分散ファイル システム) です。これも本質的にはプログラムであり、主にツリー状のディレクトリ構造(Linux と同様、/ はルート パスを示します)でファイルを管理し

        解決すべき問題:大量のオフライン データ (TB、PB、ZB レベルのデータなど) を保存し、高いデータ可用性を確保し、高い同時アクセスをサポートします。注: HDFS に多数の小さなファイルを保存するのには適していません(主な理由: HDFS の NameNode プロセスはファイルのメタデータをメモリに保存するため、ファイルが多ければ多いほど、より多くのメモリを消費します。多数の小さなファイルは NameNode ノードのメモリを使い果たしますが、ファイルの総数は実際に保存されるデータは非常に小さい (小さいため、大量のデータを保存する HDFS の利点が生かされていない)

        アーキテクチャ: HDFS のアーキテクチャは次のとおりです。Linux 側の詳細な展開は 1 つずつ繰り返しません。

 私たちのプロジェクトは以下で構成されています。

2. 詳細な手順

1.アイデアで空のプロジェクトを作成します(Xiaobaiでも理解できます)

図(例):

 

 注:通常、idea には 20 以降の jdk が付属します。バージョンが満足できない場合は、ダウンロードをクリックして適切な jdk を選択することもできます。

 

 

 

 

 OK、これで空のプロジェクトが完成しました

2. 必要な jar パッケージをインポートします

        新しいプロジェクトを作成した後、HDFS 関連の jar パッケージをプロジェクトにインポートして、HDFS が提供する関連クラスとメソッドを呼び出します。次に、必要な jar 依存関係をインポートしてから、パッケージをインポートします。

2. コードを入力すると実現できます

 public static void main(String[] args) throws IOException {
        if(args.length == 0){
            System.out.println("创建失败,请传入一个路径参数指定要读取的文件");
            return;
        }
        String feilePath = args[0];
        System.out.println("传入的名字是:"+feilePath);

        //1.创建词汇表Configuration类型的对象
        Configuration conf =  new Configuration();
        conf.set("fs.defaultFS","hdfs://20210322045-master:9000");

        FileSystem fs = FileSystem.get(conf);
        FSDataInputStream fsDataInputStream = fs.open(new Path(feilePath));
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fsDataInputStream));

        //读取文件第一行字符串,如果返回null,表明已经读取到文件的末尾
        String nextLine = bufferedReader.readLine();

        //如果没有读取到末尾,则继续读取
        while (null != nextLine){
            //将读取到的数据输出到控制台
            System.out.println(nextLine);
            nextLine = bufferedReader.readLine();
        }
        fs.close();
    }

図(例):

ここで使用される URL ネットワークによって要求されたデータ。


要約する

ヒント: 記事の概要は次のとおりです:
例: 上記は今日お話しする内容です。この記事ではパンダの使用法を簡単に紹介するだけであり、パンダはデータを迅速に処理できるようにする多数の関数とメソッドを提供します。そして簡単に。

おすすめ

転載: blog.csdn.net/qq_51294997/article/details/131038660