1.一種基于HDFS系統(tǒng)的文件合并方法,其特征在于,包括:
根據(jù)預(yù)設(shè)的生成待合并文件的時(shí)間區(qū)間,以及所述時(shí)間區(qū)間與包括所述待合并文件的待合并集合的映射關(guān)系,確定所述待合并集合;
合并確定的待合并集合中的待合并文件,并將生成的合并后文件存儲(chǔ)至合并后集合中;
將所述映射關(guān)系更新為所述時(shí)間區(qū)間與所述合并后集合的映射關(guān)系。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括:
若所述待合并文件中小文件的占比不小于預(yù)設(shè)占比門限值,或者所述待合并文件中小文件的數(shù)量不小于預(yù)設(shè)數(shù)量門限值,或者所述映射關(guān)系中的文件集合為所述待合并集合,則對所述待合并文件進(jìn)行合并操作;其中,所述小文件為所占空間小于預(yù)設(shè)門限值的文件,其中,所述預(yù)設(shè)門限值為根據(jù)所述數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的大小確定的。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,合并確定的待合并集合中的待合并文件,包括:
根據(jù)Spark集群的計(jì)算核的數(shù)目,確定讀取所述待合并文件的分區(qū)的個(gè)數(shù);
根據(jù)確定的分區(qū)的個(gè)數(shù),對所述待合并文件進(jìn)行讀??;
分別針對每一分區(qū)中的待合并文件執(zhí)行并發(fā)合并操作。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述時(shí)間區(qū)間為以小時(shí)為單位劃分得到的。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括:
檢測所述映射關(guān)系是否為所述時(shí)間區(qū)間與所述合并后集合的映射關(guān)系;若是,則刪除所述待合并文件。
6.一種基于HDFS系統(tǒng)的文件合并裝置,其特征在于,包括:
讀取模塊,用于根據(jù)預(yù)設(shè)的生成待合并文件的時(shí)間區(qū)間,以及所述時(shí)間區(qū)間與包括所述待合并文件的待合并集合的映射關(guān)系,確定所述待合并集合;
合并模塊,用于合并確定的待合并集合中的待合并文件,并將生成的合并后文件存儲(chǔ)至合并后集合中;
更新模塊,用于將所述映射關(guān)系更新為所述時(shí)間區(qū)間與所述合并后集合的映射關(guān)系。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述合并模塊還用于:
若所述待合并文件中小文件的占比不小于預(yù)設(shè)占比門限值,或者所述待合并文件中小文件的數(shù)量不小于預(yù)設(shè)數(shù)量門限值,或者所述映射關(guān)系中的文件集合為所述待合并集合,則對所述待合并文件進(jìn)行合并操作;其中,所述小文件為所占空間小于預(yù)設(shè)門限值的文件,其中,所述預(yù)設(shè)門限值為根據(jù)所述數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的大小確定的。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述合并模塊還用于:
確定讀取所述待合并文件的分區(qū)的個(gè)數(shù),其中,所述分區(qū)的個(gè)數(shù)為根據(jù)Spark集群的計(jì)算核的數(shù)目確定的;
根據(jù)確定的分區(qū)的個(gè)數(shù),對所述待合并文件進(jìn)行讀取;
分別針對每一分區(qū)中的待合并文件執(zhí)行并發(fā)合并操作。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述時(shí)間區(qū)間為以小時(shí)為單位劃分得到的。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述更新模塊還用于:
檢測所述映射關(guān)系是否為所述時(shí)間區(qū)間與所述合并后集合的映射關(guān)系;若是,則刪除所述待合并文件。