欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Hadoop文件合并——HadoopInAction上的一個示例

    上一篇文章已經(jīng)詳細(xì)的說明了如何在Eclipse下面遠(yuǎn)程連接Hadoop集群,進(jìn)行Hadoop程序開發(fā)。這里說明一個Hadoop In Action書上的一個示例,可能是由于Hadoop版本更新的問題,導(dǎo)致樹上的一些個示例程序沒有辦法正常執(zhí)行。

10年積累的成都網(wǎng)站制作、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有蘆溪免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

    整個代碼的工作就是把本地目錄下個若干個小文件,合并成一個較大的文件,寫入到HDFS中。話不多說,代碼如下:

    補充說明:后來發(fā)現(xiàn),書上的源代碼是沒有問題的,只不過是書上的源代碼要打成jar包,放在集群的機器上去運行,如果在Eclipse下面調(diào)試運行的話,就會出現(xiàn)問題。出現(xiàn)問題的原因如下

//讀取本地文件系統(tǒng),如果要想正確運行,必須要打成jar包,在hadoop集群的機器上面運行
FileSystem hdfs = FileSystem.get(conf);
FileSystem local = FileSystem.getLocal(conf);

//通過URI可以遠(yuǎn)程讀取HDFS,所以Eclipse下面調(diào)試要使用這種寫法,打成jar包這種形式也是可以的
FileSystem hdfs = FileSystem.get(URI.create(serverPath), conf);
FileSystem local = FileSystem.getLocal(conf);

package com.hadoop.examples;
import java.io.IOException;
import java.net.URI;

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

/**
 * @Package
 * @ClassName: PutMerge
 * @Description: 讀取本地目錄下的文件,寫入到HDFS,在寫入的過程中,
 *                 把這三個文件合成一個文件
 * @author lxy
 * @date 2015年3月25日 上午9:59:38
 * @version V1.0
 */

public class PutMerge {

    public static void main(String[] args) throws IOException {

        // 輸入目錄,目錄下有三個txt,文章最后面會兒給出文件內(nèi)容
        String localPathStr = "E:\\test";
        // 輸出目錄,HDFS路徑,文章最后面會給出合并之后的文件內(nèi)容
        String serverPath =
                "hdfs://192.168.3.57:8020/user/lxy/mergeresult/merge.txt";
        
        //輸入目錄,是一個本地目錄
        Path inputDir = new Path(localPathStr);
        //輸出目錄,是一個HDFS路徑
        Path hdfsFile = new Path(serverPath);

        Configuration conf = new Configuration();

        /**
         * Hadoop in Action的原代碼如下 
         * FileSystem hdfs = FileSystem.get(conf);
         * 但是這樣的話,使用Eclipse調(diào)試時,執(zhí)行下面的語句是就會報異常,因為它是讀取本地
         * 文件系統(tǒng)
         *  FSDataOutputStream out = hdfs.create(hdfsFile);
         */
        // 根據(jù)上面的serverPath,獲取到的是一個org.apache.hadoop.hdfs.DistributedFileSystem對象
        FileSystem hdfs = FileSystem.get(URI.create(serverPath), conf);
        FileSystem local = FileSystem.getLocal(conf);

        try {
            //獲取輸入目錄下的文件以及文件夾列表
            FileStatus[] inputFiles = local.listStatus(inputDir);
            //在hdfs上創(chuàng)建一個文件
            FSDataOutputStream out = hdfs.create(hdfsFile);

            for (int i = 0; i < inputFiles.length; i++) {
                System.out.println(inputFiles[i].getPath().getName());
                //打開本地輸入流
                FSDataInputStream in = local.open(inputFiles[i].getPath());
                byte buffer[] = new byte[256];
                int bytesRead = 0;
                while ((bytesRead = in.read(buffer)) > 0) {
                    //往hdfs上的文件寫數(shù)據(jù)
                    out.write(buffer, 0, bytesRead);
                }
                //釋放資源
                in.close();
            }
            //釋放資源
            out.close();
        }
        catch (IOException e) {
            e.printStackTrace();
        }
    }
}

    我的測試目錄下有三個txt文件

Hadoop文件合并——Hadoop In Action上的一個示例

    1.txt

1 hello Hadoop
2 hello Hadoop
3 hello Hadoop
4 hello Hadoop
5 hello Hadoop
6 hello Hadoop
7 hello Hadoop

    2.txt

8 hello Hadoop
9 hello Hadoop
10 hello Hadoop
11 hello Hadoop
12 hello Hadoop
13 hello Hadoop
14 hello Hadoop

    3.txt

15 hello Hadoop
16 hello Hadoop
17 hello Hadoop
18 hello Hadoop
19 hello Hadoop
20 hello Hadoop
21 hello Hadoop

    合并之后的文件如下所示:

Hadoop文件合并——Hadoop In Action上的一個示例

標(biāo)題名稱:Hadoop文件合并——HadoopInAction上的一個示例
文章路徑:http://aaarwkj.com/article40/gpiiho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、ChatGPT營銷型網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、網(wǎng)站排名搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
日韩色图在线观看视频| av永久天堂一区二区三区| 亚洲av综合日韩精品久久| 中文字幕日韩精品亚洲精品| 一本色道av久久精品+| 日本精品亚洲一区二区三区| 少妇高潮特黄在线观看| 国产在线高清精品二区| 黑人精品一区二区三区| 啄木乌法国一区二区三区| 国产精品视频在线播放| 国产一区精品在线免费看| 国产一级特黄大片特爽| 少妇欧美日韩精品在线观看| 日韩亚洲欧洲一区二区三区| 国产欧美精品久久三级| 91亚洲熟妇国产熟妇肥婆| 成人自拍偷拍在线视频| 久久久精品国产亚洲av色哟哟| 久久夜色精品亚洲国产| av资源天堂第一区第二区第三区| 伦理在线视频免费观看视频| 免费在线观看美女av| 精品国产91高清在线观看| 91在线国产手机视频| 欧美日韩亚洲国产极品| 亚洲av资源一区二区| 亚洲精品国产中文字幕| 四虎在线永久观看视频| 国产一区二区三区婷婷 | 亚洲精品偷拍在线观看| 91精品国产91久久综合桃花| 色偷偷亚洲精品一区二区| 成人看片亚欧大片在线观看| 国产男女猛烈无遮挡网站| 国产精品国产三级区别| 九九视频在线观看免费专区| 关于男女性生活的视频| 国产美女直播亚洲一区色| 亚洲香蕉av在线一区二区三区| 国产麻豆91精品女同性恋|