1.一種表外文件數(shù)據(jù)的求交集方法,其特征在于:該方法的基礎(chǔ)框架是Hadoop streaming,且包括以下步驟:
(1)開始;
(2)檢查輸入的參數(shù)是否合法,是則執(zhí)行步驟(3),否則執(zhí)行步驟(11);
(3)對每個文件路徑,檢查其是否位于hdfs,是則執(zhí)行步驟(6),否則執(zhí)行步驟(4);
(4)檢查該路徑是否位于本地,是則執(zhí)行步驟(5),否則執(zhí)行步驟(11);
(5)將本地路徑下的文件上推到hdfs的一個臨時目錄下;
(6)從兩份數(shù)據(jù)中分別抽取樣本檢查其字段分割符和每一行數(shù)據(jù)的字段個數(shù);
(7)如果用戶沒有指定輸出列表,則生成一個包含兩份數(shù)據(jù)的所有字段的輸出列表,如果用戶沒有指定輸出路徑,生成一個臨時目錄;
(8)判斷輸出列表是否超出字段的范圍,是則執(zhí)行步驟(9),否則執(zhí)行步驟(11);
(9)根據(jù)檢測的各項參數(shù)提交一個用戶自定義的mapreduce任務(wù);
(10)求交集結(jié)果;
(11)退出。
2.根據(jù)權(quán)利要求1所述的表外文件數(shù)據(jù)的求交集方法,其特征在于:所述步驟(2)中,輸入的參數(shù)至少包括三個參數(shù):有且僅有兩個文件路徑和一個where條件。
3.根據(jù)權(quán)利要求2所述的表外文件數(shù)據(jù)的求交集方法,其特征在于:該方法的輸入文件是兩份數(shù)據(jù),每一份數(shù)據(jù)是目錄或者文件,每一份數(shù)據(jù)內(nèi)只有一種分割符。
4.根據(jù)權(quán)利要求3所述的表外文件數(shù)據(jù)的求交集方法,其特征在于:所述兩份數(shù)據(jù)的分隔符是不同的。
5.根據(jù)權(quán)利要求3所述的表外文件數(shù)據(jù)的求交集方法,其特征在于:所述兩份數(shù)據(jù)的分隔符是相同的。
6.一種表外文件數(shù)據(jù)的求交集系統(tǒng),其特征在于:該系統(tǒng)包括:
輸入?yún)?shù)檢查模塊,其配置來檢查輸入的參數(shù)是否合法;
hdfs路徑檢查模塊,其配置來對每個文件路徑,檢查其是否位于hdfs;
本地路徑檢查模塊,其配置來檢查路徑是否位于本地;
文件上推模塊,其配置來將本地路徑下的文件上推到hdfs的一個臨時目錄下;
抽樣模塊,其配置來從兩份數(shù)據(jù)中分別抽取樣本檢查其字段分割符和每一行數(shù)據(jù)的字段個數(shù);
列表輸出模塊,其配置為:如果用戶沒有指定輸出列表,則生成一個包含兩份數(shù)據(jù)的所有字段的輸出列表,如果用戶沒有指定輸出路徑,生成一個臨時目錄;
列表檢查模塊,其配置來判斷輸出列表是否超出字段的范圍;
任務(wù)提交模塊,其配置來根據(jù)檢測的各項參數(shù)提交一個用戶自定義的mapreduce任務(wù);
計算模塊,其配置來求交集結(jié)果。
7.根據(jù)權(quán)利要求5所述的表外文件數(shù)據(jù)的求交集系統(tǒng),其特征在于:所述輸入?yún)?shù)檢查模塊中,輸入的參數(shù)至少包括三個參數(shù):有且僅有兩個文件路徑和一個where條件。