[發明專利]一種高效批量接入Tbase數據的方法在審
| 申請號: | 202011598428.2 | 申請日: | 2020-12-30 |
| 公開(公告)號: | CN112579683A | 公開(公告)日: | 2021-03-30 |
| 發明(設計)人: | 何健安;翁莊明;彭本;雷邦寧;張士松 | 申請(專利權)人: | 廣州華資軟件技術有限公司 |
| 主分類號: | G06F16/25 | 分類號: | G06F16/25 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 510665 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 高效 批量 接入 tbase 數據 方法 | ||
1.一種高效批量接入Tbase數據的方法,適用于海量數據采集入庫的場景中,通過對接入數據預處理,批量提交到Tbase中,實現Tbase數據的快速入庫,具體方法如下,步驟1:創建數據庫連接環節,創建Tbase數據庫連接;步驟2:創建批處理對象環節,在每批次數據處理前進行批對象實例化,并進行封裝,提升處理速度;步驟3:行數據處理環節,對數據進行類型轉換等處理,然后寫入流中進行數據提交;步驟4:數據進行批處理環節,按批進行數據接入,從而達到高效接入大數據量Tbase數據的目的。
2.根據權利要求1所述一種高效批量接入Tbase數據的方法,其特征在于:在步驟1中,先通過相關連接信息創建數據庫連接,只需建立一次連接,用以進行后續數據寫入和提交。
3.根據權利要求書1所述所述一種高效批量接入Tbase數據的方法,其特征在于:在步驟2創建批處理對象環節,在每批次數據處理前進行批對象實例化,并進行封裝,提升處理速度。
4.根據權利要求書3所述所述一種高效批量接入Tbase數據的方法,其特征在于:創建批處理對象環節包括以下步驟:
步驟A1:使用這個數據庫連接實例化一個CopyManager對象;
步驟A2:根據表結構構建相應的Copy語句,并指定來源為FROM STDIN,需要指定使用CSV格式,同時指定分隔符(默認為“,”)與引用符(默認為“”);
步驟A3:使用A1中步驟實例化的CopyManager對象執行A2步驟的Copy語句,執行成功后將得到一個CopyIn對象,為提升性能,對CopyIn又進行了一層封裝,具體實現方法是使用java.io.BufferedOutputStream做為代理類,來對CopyIn對象進行寫入操作,提升寫入速度。
5.根據權利要求1所述一種高效批量接入Tbase數據的方法,其特征在于:在步驟3行數據處理環節,對數據進行類型轉換等處理,然后寫入流中進行數據提交。
6.根據權利要求5所述一種高效批量接入Tbase數據的方法,其特征在于:所述行數據處理包括以下步驟:
步驟B1:將一條數據中的數據按它的數據類型轉為相應的byte類型;
步驟B2:對數據用引用符與分隔符進行包裝,利用CopyIn對象的writeToCopy方法寫入流中;
步驟B3:數據寫完后調用CopyIn對象的endCopy方法即可提交數據到庫中,完成插入數據的事務。
7.根據權利要求1所述一種高效批量接入Tbase數據的方法,其特征在于:在步驟4,數據進行批處理環節,可根據參數設定每批次處理數據量,按批進行數據接入。
8.根據權利要求7所述一種高效批量接入Tbase數據的方法,其特征在于:在數據進行批處理環節包括以下步驟:
步驟C1:針對入庫操作的穩定及容錯性考慮,設置每批次提交的數據量,判定寫入條數達到設置的參數,則提交數據,通過分批提交的方式,將大批數據分批進行寫入和提交;
步驟C2:每一個新的批次,重新執行該方法中步驟2及以下步驟,直至所有數據提交完成;一個批次的數據提交失敗,不影響全局數據提交失敗,從而不會影響到整體入庫效率。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州華資軟件技術有限公司,未經廣州華資軟件技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011598428.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于聲端口的閥
- 下一篇:一種基于Shapelet的雙季稻田遙感識別方法





