System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及數據處理,特別是涉及一種sql語句測試方法、系統、裝置、設備、介質及產品。
技術介紹
1、服務端可以通過結構化查詢語言(structured?query?language,sql)語句管理本地數據庫中的數據。開發人員需要對sql語句進行測試,以確定sql語句的執行效率,進而對sql語句進行優化。
2、現有技術中,在測試sql語句的過程中,可以根據服務端執行sql語句時查詢數據的時長,確定sql語句的執行效率。然而,一些sql語句涉及的數據量比較大,例如,一些sql語句可能需要同時查詢較多的數據表。相應的,當需要對這些sql語句進行測試時,則需要服務端本地數據庫中存儲有大量數據。當服務端本地數據庫中未存儲有大量數據時,則無法對這類sql語句進行測試。
技術實現思路
1、本專利技術實施例的目的在于提供一種sql語句測試方法、系統、裝置、設備、介質及產品,以實現在服務端本地數據庫中存儲大量數據,以對涉及較大數據量查詢的sql語句進行測試。具體技術方案如下:
2、第一方面,本專利技術實施例提供了一種sql語句測試方法,所述方法應用于spark集群中的驅動服務器,所述spark集群還包括多個工作服務器,所述方法包括:
3、獲取表示待生成數據表的數據結構的數據定義語言ddl語句;其中,所述待生成數據表的數據結構與指定數據庫中的數據表的數據結構相同;
4、解析所述ddl語句,得到解析結果;其中,所述解析結果包括:所述待生成數據表包含的
5、利用所述驅動服務器中的有向無環圖調度器組件,基于所述解析結果構建任務序列;其中,所述任務序列包含數據生成任務和數據寫入任務;所述數據生成任務表征每一原始字段對應的數據生成子任務以及各原始字段在所述待生成數據表中的原始排列順序;每一原始字段對應的數據生成子任務表示生成屬于該原始字段對應的列的數據;
6、利用所述驅動服務器中的任務調度器組件,分別向每一工作服務器下發所述任務序列,以使每一工作服務器按照所述數據生成任務,生成包含各原始字段以及屬于各原始字段的數據的目標數據表,并按照所述數據寫入任務,將所生成的目標數據表寫入所述指定數據庫;其中,任一目標數據表中屬于各原始字段的數據按照所述原始排列順序排列。
7、第二方面,本專利技術實施例提供了一種sql語句測試方法,所述方法應用于測試系統包含的多個工作服務器中的每一工作服務器,所述測試系統還包括驅動服務器,所述方法包括:
8、通過每一工作服務器中的執行進程,接收所述驅動服務器發送的任務序列;其中,所述任務序列為:所述驅動服務器對獲取到的表示待生成數據表的數據結構的數據定義語言ddl語句進行解析,利用所述驅動服務器中的有向無環圖調度器組件根據解析結果所構建,并利用所述驅動服務器中的任務調度器組件向所述多個工作服務器分別下發的;所述待生成數據表的數據結構與指定數據庫中的數據表的數據結構相同;所述任務序列包含數據生成任務和數據寫入任務;所述解析結果包括:所述待生成數據表包含的各原始字段、各原始字段在所述待生成數據表中的排列順序;所述數據生成任務表征每一原始字段對應的數據生成子任務以及各原始字段在所述待生成數據表中的原始排列順序;每一原始字段對應的數據生成子任務表示生成屬于該原始字段的數據;
9、按照所述數據生成任務,生成包含各原始字段以及屬于各原始字段的數據的目標數據表;其中,任一目標數據表中屬于各原始字段的數據按照所述原始排列順序排列;
10、按照所述數據寫入任務,將所生成的目標數據表寫入所述指定數據庫。
11、第三方面,本專利技術實施例提供了一種sql語句測試系統,包含spark集群中的多個工作服務器和驅動服務器;
12、所述驅動服務器,用于執行前述的sql語句測試方法;
13、所述多個工作服務器中的任一工作服務器,用于執行前述的sql語句測試方法。
14、第四方面,本專利技術實施例提供了一種sql語句測試裝置,所述裝置應用于spark集群中的驅動服務器,所述spark集群還包括多個工作服務器,所述裝置包括:
15、第一獲取模塊,用于獲取表示待生成數據表的數據結構的數據定義語言ddl語句;其中,所述待生成數據表的數據結構與指定數據庫中的數據表的數據結構相同;
16、第一解析模塊,用于解析所述ddl語句,得到解析結果;其中,所述解析結果包括:所述待生成數據表包含的各原始字段,以及各原始字段在所述待生成數據表中的排列順序;
17、構建模塊,用于利用所述驅動服務器中的有向無環圖調度器組件,基于所述解析結果構建任務序列;其中,所述任務序列包含數據生成任務和數據寫入任務;所述數據生成任務表征每一原始字段對應的數據生成子任務以及各原始字段在所述待生成數據表中的原始排列順序;每一原始字段對應的數據生成子任務表示生成屬于該原始字段對應的列的數據;
18、下發模塊,用于利用所述驅動服務器中的任務調度器組件,分別向每一工作服務器下發所述任務序列,以使每一工作服務器按照所述數據生成任務,生成包含各原始字段以及屬于各原始字段的數據的目標數據表,并按照所述數據寫入任務,將所生成的目標數據表寫入所述指定數據庫;其中,任一目標數據表中屬于各原始字段的數據按照所述原始排列順序排列。
19、第五方面,本專利技術實施例提供了一種sql語句測試裝置,所述裝置應用于測試系統包含的多個工作服務器中的每一工作服務器,所述測試系統還包括驅動服務器,所述裝置包括:
20、接收模塊,用于通過每一工作服務器中的執行進程,接收所述驅動服務器發送的任務序列;其中,所述任務序列為:所述驅動服務器對獲取到的表示待生成數據表的數據結構的數據定義語言ddl語句進行解析,利用所述驅動服務器中的有向無環圖調度器組件根據解析結果所構建,并利用所述驅動服務器中的任務調度器組件向所述多個工作服務器分別下發的;所述待生成數據表的數據結構與指定數據庫中的數據表的數據結構相同;所述任務序列包含數據生成任務和數據寫入任務;所述解析結果包括:所述待生成數據表包含的各原始字段、各原始字段在所述待生成數據表中的排列順序;所述數據生成任務表征每一原始字段對應的數據生成子任務以及各原始字段在所述待生成數據表中的原始排列順序;每一原始字段對應的數據生成子任務表示生成屬于該原始字段的數據;
21、生成模塊,用于按照所述數據生成任務,生成包含各原始字段以及屬于各原始字段的數據的目標數據表;其中,任一目標數據表中屬于各原始字段的數據按照所述原始排列順序排列;
22、寫入模塊,用于按照所述數據寫入任務,將所生成的目標數據表寫入所述指定數據庫。
23、本專利技術實施例還提供了一種電子設備,包括處理器、通信接口、存儲器和通信總線,其中,處理器,通信接口,存儲器通過通信總線完成相互間的通信;
24、存儲器,用于存放計算機程序;本文檔來自技高網...
【技術保護點】
1.一種SQL語句測試方法,其特征在于,所述方法應用于Spark集群中的驅動服務器,所述Spark集群還包括多個工作服務器,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,在利用所述驅動服務器中的有向無環圖調度器組件,基于所述解析結果構建任務序列之前,所述方法還包括:
3.根據權利要求2所述的方法,其特征在于,針對屬于確定出的待處理字段的每一原始字段,若該原始字段的原始數據類型為數值類型,則該原始字段對應的數據生成子任務中定義有第一函數;所述第一函數用于指示每一工作服務器在預設數值范圍內生成屬于該原始字段的數據;
4.根據權利要求1所述的方法,其特征在于,在所述利用所述驅動服務器中的任務調度器組件,分別向每一工作服務器下發所述任務序列之后,所述方法還包括:
5.根據權利要求4所述的方法,其特征在于,當前的待測SQL語句為查詢語句,所述方法還包括:
6.一種SQL語句測試方法,其特征在于,所述方法應用于測試系統包含的多個工作服務器中的每一工作服務器,所述測試系統還包括驅動服務器,所述方法包括:
7.根
8.一種SQL語句測試系統,其特征在于,包含Spark集群中的多個工作服務器和驅動服務器;
9.一種SQL語句測試裝置,其特征在于,所述裝置應用于Spark集群中的驅動服務器,所述Spark集群還包括多個工作服務器,所述裝置包括:
10.一種SQL語句測試裝置,其特征在于,所述裝置應用于測試系統包含的多個工作服務器中的每一工作服務器,所述測試系統還包括驅動服務器,所述裝置包括:
11.一種電子設備,其特征在于,包括處理器、通信接口、存儲器和通信總線,其中,處理器,通信接口,存儲器通過通信總線完成相互間的通信;
12.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質內存儲有計算機程序,所述計算機程序被處理器執行時實現權利要求1-7任一所述的方法。
13.一種計算機程序產品,其特征在于,包括計算機程序,所述計算機程序在被處理器執行時實現權利要求1-7任一所述的方法。
...【技術特征摘要】
1.一種sql語句測試方法,其特征在于,所述方法應用于spark集群中的驅動服務器,所述spark集群還包括多個工作服務器,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,在利用所述驅動服務器中的有向無環圖調度器組件,基于所述解析結果構建任務序列之前,所述方法還包括:
3.根據權利要求2所述的方法,其特征在于,針對屬于確定出的待處理字段的每一原始字段,若該原始字段的原始數據類型為數值類型,則該原始字段對應的數據生成子任務中定義有第一函數;所述第一函數用于指示每一工作服務器在預設數值范圍內生成屬于該原始字段的數據;
4.根據權利要求1所述的方法,其特征在于,在所述利用所述驅動服務器中的任務調度器組件,分別向每一工作服務器下發所述任務序列之后,所述方法還包括:
5.根據權利要求4所述的方法,其特征在于,當前的待測sql語句為查詢語句,所述方法還包括:
6.一種sql語句測試方法,其特征在于,所述方法應用于測試系統包含的多個工作服務器中的每一工作服務器,所述測試系統還包括驅動服務器,所述方法包括:
...
【專利技術屬性】
技術研發人員:李劍戈,魏菱延,杜瑞嶺,
申請(專利權)人:中信建投證券股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。