两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

數(shù)據(jù)處理方法、設(shè)備、存儲介質(zhì)及程序產(chǎn)品與流程

文檔序號:40643100發(fā)布日期:2025-01-10 18:49閱讀:2來源:國知局
數(shù)據(jù)處理方法、設(shè)備、存儲介質(zhì)及程序產(chǎn)品與流程

本技術(shù)涉及數(shù)據(jù)處理,尤其涉及數(shù)據(jù)處理方法、設(shè)備、存儲介質(zhì)及程序產(chǎn)品。


背景技術(shù):

1、etl(extract,transform,load,提取、轉(zhuǎn)換、加載)是構(gòu)建數(shù)據(jù)倉庫比較重要的一個部分。如在將數(shù)據(jù)同步至hive等數(shù)據(jù)庫的過程中,通過sftp(secure?file?transferprotocol,安全文件傳輸協(xié)議)對數(shù)據(jù)源的數(shù)據(jù)進行下載抽取和轉(zhuǎn)換,最后將轉(zhuǎn)換完的數(shù)據(jù)載入hive等數(shù)據(jù)庫中。

2、相關(guān)技術(shù)中,將數(shù)據(jù)同步至hive等數(shù)據(jù)庫的過程中,使用jsch建立鏈接并下載文件至hdfs(hadoop?distributed?file?system,分布式文件存儲系統(tǒng)),再將文件轉(zhuǎn)換為orc(optimized?row?columnar,優(yōu)化行列存儲格式)文件并加載到hive。但是該方案在每個節(jié)點串行阻塞式處理,導(dǎo)致數(shù)據(jù)處理效率較低。


技術(shù)實現(xiàn)思路

1、本技術(shù)的主要目的在于提供一種數(shù)據(jù)處理方法、設(shè)備、存儲介質(zhì)及程序產(chǎn)品,旨在解決數(shù)據(jù)處理效率低的技術(shù)問題。

2、為實現(xiàn)上述目的,本技術(shù)提出一種數(shù)據(jù)處理方法,包括:

3、通過至少兩個執(zhí)行器并發(fā)下載與各執(zhí)行器相對應(yīng)的待下載文件的多個分片文件;

4、在至少兩個工作流引擎中的一工作流引擎監(jiān)測到任一分片文件下載完成時,通過一工作流引擎將任一分片文件轉(zhuǎn)換為預(yù)設(shè)格式的轉(zhuǎn)換文件,并將轉(zhuǎn)換文件加載至目標(biāo)數(shù)據(jù)庫;

5、合并目標(biāo)數(shù)據(jù)庫中的所有轉(zhuǎn)換文件,以將待下載文件同步至目標(biāo)數(shù)據(jù)庫。

6、在一實施例中,通過至少兩個執(zhí)行器并發(fā)下載與各執(zhí)行器相對應(yīng)的待下載文件的多個分片文件的步驟包括:

7、針對各待下載文件,獲取待下載文件中的第一文件記錄數(shù)以及分片文件的預(yù)設(shè)分片數(shù);

8、基于第一文件記錄數(shù)與預(yù)設(shè)分片數(shù),確定各分片文件中的第二文件記錄數(shù);

9、基于第二文件記錄數(shù),控制至少兩個執(zhí)行器并發(fā)下載與各執(zhí)行器相對應(yīng)的待下載文件中的文件記錄數(shù),得到多個分片文件。

10、在一實施例中,基于第一文件記錄數(shù)與預(yù)設(shè)分片數(shù),確定各分片文件中的第二文件記錄數(shù)的步驟包括:

11、若第一文件記錄數(shù)能夠被預(yù)設(shè)分片數(shù)整除,則將第一文件記錄數(shù)被預(yù)設(shè)分片數(shù)整除之后的結(jié)果值作為第二文件記錄數(shù);

12、若第一文件記錄數(shù)不能被預(yù)設(shè)分片數(shù)整除,則利用公式一確定第二文件記錄數(shù);

13、其中,公式一為:

14、

15、splitcount表示第二文件記錄數(shù),filecount表示第一文件記錄數(shù),n表示預(yù)設(shè)分片數(shù),splitseq表示分片文件的序號。

16、在一實施例中,在至少兩個工作流引擎中的一工作流引擎監(jiān)測到任一分片文件下載完成時,通過一工作流引擎將任一分片文件轉(zhuǎn)換為預(yù)設(shè)格式的轉(zhuǎn)換文件的步驟包括:

17、獲取第一目標(biāo)待下載文件、執(zhí)行器的分配內(nèi)存、spark內(nèi)存比例、執(zhí)行器的預(yù)留內(nèi)存、單個執(zhí)行器的核數(shù)以及用戶內(nèi)存;第一目標(biāo)待下載文件為多個待下載文件中文件大小為最大的待下載文件;

18、利用分配內(nèi)存、spark內(nèi)存比例、預(yù)留內(nèi)存、單個執(zhí)行器的核數(shù)以及公式二,確定單核可用內(nèi)存;

19、其中,公式二包括:

20、

21、usablememory表示單核可用內(nèi)存,executormemory表示分配內(nèi)存,memoryfraction表示spark內(nèi)存比例,numcores表示單個執(zhí)行器的核數(shù);

22、將第一目標(biāo)待下載文件與預(yù)設(shè)分片數(shù)的比值,作為單個分片文件大?。?/p>

23、將單個分片文件大小與并發(fā)數(shù)的積,作為單批次可處理的最大文件大小;

24、將最大文件大小與單核可用內(nèi)存的比值,作為最優(yōu)分區(qū)數(shù);

25、確定執(zhí)行器的總數(shù)量與單個執(zhí)行器的核數(shù)的第一乘積,以及最優(yōu)分區(qū)數(shù)在擴大預(yù)設(shè)倍數(shù)后的第二乘積;

26、將第一乘積與第二乘積中的較大值作為實際分區(qū)數(shù);

27、在至少兩個工作流引擎中的一工作流引擎監(jiān)測到任一分片文件下載完成時,利用實際分區(qū)數(shù)對任一分片文件進行分割,得到多個分片子文件;其中,多個分片子文件的數(shù)量與實際分區(qū)數(shù)相同;

28、通過至少一個工作流引擎將所有分片子文件轉(zhuǎn)換為預(yù)設(shè)格式的轉(zhuǎn)換文件。

29、在一實施例中,工作流引擎的包括第一工作流引擎以及第二工作流引擎,分片子文件具有文件編號,通過至少一個工作流引擎將所有分片子文件轉(zhuǎn)換為預(yù)設(shè)格式的轉(zhuǎn)換文件的步驟包括:

30、利用第一工作流引擎,將所有分片子文件中文件編號為奇數(shù)編號的分片子文件轉(zhuǎn)換為預(yù)設(shè)格式的轉(zhuǎn)換文件;

31、利用第二工作流引擎,將所有分片子文件中文件編號為偶數(shù)編號的分片子文件轉(zhuǎn)換為預(yù)設(shè)格式的轉(zhuǎn)換文件。

32、在一實施例中,合并目標(biāo)數(shù)據(jù)庫中的所有轉(zhuǎn)換文件,以將待下載文件同步至目標(biāo)數(shù)據(jù)庫的步驟包括:

33、針對任一工作流引擎轉(zhuǎn)換得到的轉(zhuǎn)換文件,確定轉(zhuǎn)換文件的累計數(shù)量是否等于預(yù)設(shè)閾值;

34、若轉(zhuǎn)換文件的累計數(shù)量等于預(yù)設(shè)閾值,則合并預(yù)設(shè)閾值數(shù)量的轉(zhuǎn)換文件,得到至少一個合并文件,并在得到合并文件后,將累計數(shù)量清零;

35、針對任一工作流引擎,若檢測到所有分片子文件均被轉(zhuǎn)換為轉(zhuǎn)換文件,則合并所有合并文件以及所有轉(zhuǎn)換文件,以將待下載文件同步至目標(biāo)數(shù)據(jù)庫。

36、在一實施例中,通過至少兩個執(zhí)行器并發(fā)下載與各執(zhí)行器相對應(yīng)的待下載文件的多個分片文件之后,還包括:

37、獲取配置文件;配置文件包括各待下載文件的文件名、各待下載文件的文件大小、以及各待下載文件的最后修改時間;

38、確定是否存在目標(biāo)下載日志;其中,目標(biāo)下載日志為在下載完所有待下載文件后生成的下載日志,目標(biāo)下載日志包括待下載文件的文件名、各待下載文件的文件大小、以及各待下載文件的最后修改時間;

39、若存在目標(biāo)下載日志,則利用配置文件對目標(biāo)下載日志進行校驗,得到校驗結(jié)果;其中,校驗結(jié)果為校驗通過或者校驗不通過;

40、若校驗結(jié)果為校驗通過,則確定所有待下載文件已下載完成;

41、若校驗結(jié)果為校驗不通過,則基于下載日志以及配置文件確定不一致的第二目標(biāo)待下載文件,并下載第二目標(biāo)待下載文件。

42、此外,為實現(xiàn)上述目的,本技術(shù)還提出一種數(shù)據(jù)處理設(shè)備,所述設(shè)備包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序配置為實現(xiàn)如上文所述的數(shù)據(jù)處理方法的步驟。

43、此外,為實現(xiàn)上述目的,本技術(shù)還提出一種存儲介質(zhì),所述存儲介質(zhì)為計算機可讀存儲介質(zhì),所述存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上文所述的數(shù)據(jù)處理方法的步驟。

44、此外,為實現(xiàn)上述目的,本技術(shù)還提供一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上文所述的數(shù)據(jù)處理方法的步驟。

45、本技術(shù)提出的一個或多個技術(shù)方案,至少具有以下技術(shù)效果:

46、相較于相關(guān)技術(shù)中,將待下載文件下載至hdfs后再將待下載文件轉(zhuǎn)換為orc文件,并將orc文件加載至hive,本技術(shù)通過至少兩個執(zhí)行器并發(fā)下載與各執(zhí)行器相對應(yīng)的待下載文件的多個分片文件,也即是將下載待下載文件的下載任務(wù)分散到每個執(zhí)行器上,而非將下載任務(wù)集中在一個執(zhí)行器上,可以同時下載多個待下載文件的分片文件,從而提高下載效率和并發(fā)處理能力。同時,在多個工作流引擎中的任一工作流引擎監(jiān)測到任一分片文件下載完成時,通過工作流引擎將任一分片文件轉(zhuǎn)換為預(yù)設(shè)格式的轉(zhuǎn)換文件,也即是多個工作流引擎針對多個下載完成的分片文件進行轉(zhuǎn)換操作并將轉(zhuǎn)換文件加載至目標(biāo)數(shù)據(jù)庫中,通過多個工作流引擎對下載完成的文件分片進行并發(fā)加載的方式,可以提高分片文件的加載效率,也即是本技術(shù)通過在下載階段通過并發(fā)下載,在加載階段通過并發(fā)加載的方式,可以避免在下載階段或者加載階段出現(xiàn)串行阻塞式處理,從而提高數(shù)據(jù)處理效率。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
紫阳县| 罗城| 马边| 城固县| 吉木萨尔县| 大石桥市| 乃东县| 枞阳县| 和林格尔县| 凉城县| 武宣县| 周口市| 永城市| 南和县| 营山县| 阜康市| 西乌珠穆沁旗| 永寿县| 新乡市| 建瓯市| 视频| 长沙县| 靖安县| 睢宁县| 铁岭市| 温宿县| 马尔康县| 绿春县| 商丘市| 双辽市| 磴口县| 买车| 昌江| 辉南县| 雷波县| 民权县| 漳平市| 灌南县| 台东县| 永济市| 遂川县|