溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

發(fā)布時(shí)間:2021-12-02 14:52:12 來(lái)源:億速云 閱讀:163 作者:柒染 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關(guān)如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

1. 概述

Spark是基于內(nèi)存計(jì)算的通用大數(shù)據(jù)并行計(jì)算框架,內(nèi)置多種組件,如批處理、流處理、機(jī)器學(xué)習(xí)和圖處理。Hive是基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù),支持類SQL的命令查詢,提升了Hadoop的易用性。Spark與Hive、Hadoop通常是搭配使用,利用Hive中的數(shù)據(jù)分區(qū)可以方便地管理和過(guò)濾數(shù)據(jù),提高查詢效率。

DolphinDB是C++編寫(xiě)的高性能分布式時(shí)序數(shù)據(jù)庫(kù),內(nèi)置高吞吐低延遲的列式內(nèi)存引擎,集成了功能強(qiáng)大的編程語(yǔ)言,支持類Python和SQL的腳本語(yǔ)言,可以直接在數(shù)據(jù)庫(kù)中進(jìn)行復(fù)雜的編程和運(yùn)算。DolphinDB內(nèi)部用Data Source來(lái)抽象分區(qū)數(shù)據(jù)。在Data Source之上,可以完成SQL,機(jī)器學(xué)習(xí),批處理和流處理等計(jì)算任務(wù)。一個(gè)Data Source既可以是內(nèi)置的數(shù)據(jù)庫(kù)分區(qū),也可以是外部數(shù)據(jù)。如果Data Source是內(nèi)置數(shù)據(jù)庫(kù)的分區(qū),大部分計(jì)算都可以在本地完成,極大地提升了計(jì)算和查詢效率。

本報(bào)告將對(duì)DolphinDB、Spark直接訪問(wèn)HDFS(Spark+Hadoop,下文稱為Spark)、Spark通過(guò)Hive組件訪問(wèn)HDFS(Spark+Hive+Hadoop,下文稱為Spark+Hive)三者進(jìn)行性能對(duì)比測(cè)試。測(cè)試內(nèi)容包括數(shù)據(jù)導(dǎo)入、磁盤(pán)空間占用、數(shù)據(jù)查詢以及多用戶并發(fā)查詢。通過(guò)對(duì)比測(cè)試,我們能更深入的了解影響性能的主要因素,以及不同工具的最佳應(yīng)用場(chǎng)景。

2. 環(huán)境配置

2.1 硬件配置

本次測(cè)試使用了兩臺(tái)配置完全相同的服務(wù)器(機(jī)器1,機(jī)器2),各個(gè)配置參數(shù)如下:

主機(jī):DELL PowerEdge R730xd

CPU:Intel Xeon(R) CPU E5-2650 v4(24核 48線程 2.20GHz)

內(nèi)存:512 GB (32GB × 16, 2666 MHz)

硬盤(pán):17T HDD (1.7T × 10, 222 MB/s 讀??;210 MB/s 寫(xiě)入)

網(wǎng)絡(luò):萬(wàn)兆以太網(wǎng)

OS: CentOS Linux release 7.6.1810 (Core)

2.2 集群配置

測(cè)試的DolphinDB版本為L(zhǎng)inux v0.95。測(cè)試集群的控制節(jié)點(diǎn)部署在機(jī)器1上,每臺(tái)機(jī)器上各部署三個(gè)數(shù)據(jù)節(jié)點(diǎn),共六個(gè)數(shù)據(jù)節(jié)點(diǎn)。每個(gè)數(shù)據(jù)節(jié)點(diǎn)配置8個(gè)worker,7個(gè)executor,24G內(nèi)存。

測(cè)試的Spark版本為2.3.3,搭載Apache Hadoop 2.9.0。Hadoop與Spark配置為完全分布式模式,機(jī)器1為Master,并且在機(jī)器1、機(jī)器2上都具有Slave。Hive的版本是1.2.2,機(jī)器1、機(jī)器2上都具有Hive。元數(shù)據(jù)存儲(chǔ)在機(jī)器1上的MySql數(shù)據(jù)庫(kù)中。Spark 與Spark + Hive使用Standalone模式下的client 方式來(lái)提交應(yīng)用。

測(cè)試時(shí),DolphinDB、Spark、Spark+Hive均配置6塊硬盤(pán),不同并發(fā)數(shù)下使用的CPU、內(nèi)存總和都相同,都是48個(gè)線程,144G內(nèi)存。Spark與Spark+Hive使用的資源只是對(duì)于特定的應(yīng)用,每個(gè)應(yīng)用有6個(gè)executor,在多用戶并發(fā)的情況下,Spark、Spark+Hive單個(gè)用戶使用的資源會(huì)隨著用戶數(shù)量增多而減少。不同并發(fā)數(shù)下每個(gè)用戶使用的資源如表1所示。

表1.Spark、Spark+Hive不同并發(fā)數(shù)下單用戶使用的資源

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

3. 數(shù)據(jù)集及數(shù)據(jù)庫(kù)設(shè)計(jì)

3.1 數(shù)據(jù)集

測(cè)試數(shù)據(jù)集是紐約證券交易所(NYSE)提供的TAQ數(shù)據(jù)集,包含 8000 多支股票在2007.08.01-2007.08.31一個(gè)月內(nèi)的Level 1報(bào)價(jià)數(shù)據(jù),包含交易時(shí)間, 股票代碼, 買入價(jià), 賣出價(jià), 買入量, 賣出量等報(bào)價(jià)信息。數(shù)據(jù)集中共有 65 億(6,561,693,704)條報(bào)價(jià)記錄,一個(gè) CSV 中保存一個(gè)交易日的記錄,該月共23個(gè)交易日,未壓縮的 23個(gè)CSV 文件共計(jì) 277 GB。

數(shù)據(jù)來(lái)源:https://www.nyse.com/market-data/historical

3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)

表2. TAQ在各個(gè)系統(tǒng)中的數(shù)據(jù)類型。

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

在 DolphinDB database 中,我們按照date、symbol列組合分區(qū),第一分區(qū)使用日期DATE來(lái)進(jìn)行值分區(qū),共23個(gè)分區(qū),第二分區(qū)使用股票代碼SYMBOL來(lái)進(jìn)行范圍分區(qū),分區(qū)數(shù)量100個(gè),每個(gè)分區(qū)大約120M左右。

Spark存儲(chǔ)在HDFS上的數(shù)據(jù)以23個(gè)csv對(duì)應(yīng)23個(gè)目錄。Spark+Hive采用兩層分區(qū),第一層分區(qū)使用日期DATE列進(jìn)行靜態(tài)分區(qū),第二層分區(qū)使用股票代碼SYMBOL進(jìn)行動(dòng)態(tài)分區(qū)。

具體腳本見(jiàn)附錄。

4. 數(shù)據(jù)導(dǎo)入和查詢測(cè)試

4.1 數(shù)據(jù)導(dǎo)入測(cè)試

原始數(shù)據(jù)均勻地分布在兩臺(tái)服務(wù)器的6個(gè)硬盤(pán)上,這樣可以充分利用集群中的所有資源。DolphinDB通過(guò)異步多節(jié)點(diǎn)的方式并行導(dǎo)入數(shù)據(jù),Spark與Spark+Hive并行啟動(dòng)6個(gè)應(yīng)用來(lái)讀取數(shù)據(jù),把數(shù)據(jù)存儲(chǔ)到HDFS中。各個(gè)系統(tǒng)導(dǎo)入數(shù)據(jù)的時(shí)間如表3所示。各個(gè)系統(tǒng)中數(shù)據(jù)占用的磁盤(pán)空間如表4所示。數(shù)據(jù)導(dǎo)入腳本見(jiàn)附錄。

表3. DolphinDB、Spark、Spark+Hive導(dǎo)入數(shù)據(jù)時(shí)間

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

表4. DolphinDB、Spark、Spark+Hive中數(shù)據(jù)占用的磁盤(pán)空間

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

DolphinDB的導(dǎo)入性能明顯優(yōu)于Spark和Spark+Hive,是Spark的4倍左右,是Spark + Hive的6倍左右。DolphinDB使用C++編寫(xiě)并且內(nèi)部有很多優(yōu)化,極大地利用了磁盤(pán)的IO。

DolphinDB占用的磁盤(pán)空間大于Spark與Spark+Hive,大約是他們的2倍,這是因?yàn)镾park和Spark+Hive在Hadoop上都使用Parquet格式,Parquet格式通過(guò)Spark寫(xiě)入到Hadoop上默認(rèn)使用snappy壓縮。

4.2 數(shù)據(jù)查詢測(cè)試

為保證測(cè)試公平,每個(gè)查詢語(yǔ)句要進(jìn)行多次測(cè)試,每次測(cè)試之前均通過(guò) Linux 系統(tǒng)命令分別清除系統(tǒng)的頁(yè)面緩存、目錄項(xiàng)緩存和硬盤(pán)緩存。DolphinDB還清除其內(nèi)置緩存。

表5中的查詢語(yǔ)句涵蓋了大部分查詢場(chǎng)景,包含分組、排序、條件、聚合計(jì)算、點(diǎn)查詢、全表查詢,用來(lái)評(píng)估DolphinDB、Spark、Spark+Hive在不同用戶數(shù)量提交下的性能。

表5. DolphinDB、Spark、Spark+Hive查詢語(yǔ)句

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

4.2.1 DolphinDB與Spark單用戶查詢測(cè)試

以下是DolphinDB與Spark單用戶查詢的結(jié)果,結(jié)果中的耗時(shí)為查詢8次的平均用時(shí)。

表6. DolphinDB、Spark單用戶查詢結(jié)果

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

從結(jié)果可以看出,DolphinDB的查詢性能是Spark+HDFS的200倍左右。查詢Q1到Q6都是以DolphinDB的分區(qū)字段為過(guò)濾條件,DolphinDB只需要加載指定分區(qū)的數(shù)據(jù),無(wú)需全表掃描,而Spark從Q1到Q6都需要全表掃描,耗費(fèi)大量的時(shí)間。對(duì)于查詢Q7,DolphinDB和Spark都需要全表掃描,但是DolphinDB只加載相關(guān)的列,無(wú)需加載所有列,而Spark則需要加載所有數(shù)據(jù)。由于Query運(yùn)行時(shí)間被數(shù)據(jù)加載主導(dǎo),DolphinDB和Spark的性能差距沒(méi)有之前的查詢語(yǔ)句的大。

4.2.2 DolphinDB與Spark+Hive單用戶查詢測(cè)試

由于DolphinDB的數(shù)據(jù)經(jīng)過(guò)分區(qū),且在查詢的時(shí)候?qū)崿F(xiàn)謂詞下推,效率明顯高于Spark。此處我們使用Spark搭載Hive組件來(lái)訪問(wèn)HDFS,對(duì)比DolphinDB和Spark+Hive的查詢性能。以下是DolphinDB、Spark+Hive單用戶查詢的結(jié)果,結(jié)果中的耗時(shí)為查詢8次的平均用時(shí)。

表7. DolphinDB、Spark+Hive單用戶查詢結(jié)果

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

結(jié)果顯示,DolphinDB的查詢性能明顯優(yōu)于Spark+Hive,是Spark+Hive的數(shù)十倍。與表6的結(jié)果相比,Spark+Hive的查詢速度比Spark要快得多,DolphinDB具有的優(yōu)勢(shì)明顯下降了很多。這是因?yàn)镠ive對(duì)數(shù)據(jù)進(jìn)行分區(qū),且在查詢語(yǔ)句的條件帶有分區(qū)字段的時(shí)候,只加載部分?jǐn)?shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)過(guò)濾,提高效率。查詢語(yǔ)句Q7掃描全表的時(shí)候會(huì)出現(xiàn)內(nèi)存溢出。

DolphinDB、Spark+Hive都對(duì)數(shù)據(jù)進(jìn)行了分區(qū),且在加載數(shù)據(jù)時(shí)都可以實(shí)現(xiàn)謂詞下推,達(dá)到數(shù)據(jù)過(guò)濾的效果,但是DolphinDB的查詢速度優(yōu)于Spark+Hive。這是因?yàn)镾park+Hive區(qū)讀取HDFS上的數(shù)據(jù)是不同系統(tǒng)之間的訪問(wèn),數(shù)據(jù)要經(jīng)過(guò)序列化、網(wǎng)絡(luò)傳輸、反序列化的過(guò)程,非常耗時(shí),從而影響性能。DolphinDB的大部分計(jì)算都在本地完成,減少了數(shù)據(jù)傳輸,因此更加高效。

4.2.3 DolphinDB與Spark計(jì)算能力對(duì)比

上面DolphinDB分別與Spark、Spark+Hive的查詢性能對(duì)比,由于數(shù)據(jù)分區(qū)、查詢時(shí)的數(shù)據(jù)過(guò)濾以及傳輸影響了Spark的性能,因此這里我們先把數(shù)據(jù)加載到內(nèi)存中,再進(jìn)行相關(guān)的計(jì)算,比較DolphinDB和Spark+Hive。我們省略了Spark+Hive,因?yàn)槭褂肏ive只是為了數(shù)據(jù)過(guò)濾,讀取HDFS上的數(shù)據(jù)更加高效,這里的測(cè)試數(shù)據(jù)已經(jīng)在內(nèi)存中。

表8是測(cè)試計(jì)算能力的語(yǔ)句。每次測(cè)試都包含兩個(gè)語(yǔ)句,第一個(gè)語(yǔ)句是把數(shù)據(jù)加載到內(nèi)存中,第二個(gè)語(yǔ)句是對(duì)內(nèi)存中的數(shù)據(jù)進(jìn)行計(jì)算。DolphinDB會(huì)自動(dòng)緩存數(shù)據(jù),Spark則通過(guò)自己的默認(rèn)緩存機(jī)制重新創(chuàng)建一個(gè)臨時(shí)表TmpTbl。

表8. DolphinDB與Spark計(jì)算能力對(duì)比語(yǔ)句

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

以下是DolphinDB與Spark計(jì)算能力的測(cè)試結(jié)果,結(jié)果中的耗時(shí)是測(cè)試5次的平均用時(shí)。

表9. DolphinDB與Spark計(jì)算能力測(cè)試結(jié)果

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

由于數(shù)據(jù)已經(jīng)在內(nèi)存中,對(duì)比表6,Spark使用的時(shí)間大幅度減少,但是DolphinDB的計(jì)算能力仍然比Spark優(yōu)越。DolphinDB用C++編寫(xiě),自己管理內(nèi)存,比起Spark使用JVM來(lái)管理內(nèi)存更加高效。另外,DolphinDB內(nèi)置了更高效的算法,提高了計(jì)算性能。

DolphinDB的分布式計(jì)算以分區(qū)為單位,計(jì)算指定內(nèi)存的數(shù)據(jù)。Spark加載整個(gè)HDFS上的塊,一個(gè)數(shù)據(jù)塊包含了具有不同symbol值的數(shù)據(jù),雖然緩存,但是仍然要篩選,所以在Q1與Q2的比值較大。Spark計(jì)算時(shí)使用的廣播變量是經(jīng)過(guò)壓縮的,傳輸?shù)狡渌膃xecutor上再解壓影響性能。

4.2.4 多用戶并發(fā)查詢

我們使用表5中的查詢語(yǔ)句,對(duì)DolphinDB、Spark、Spark+Hive進(jìn)行多用戶并發(fā)查詢測(cè)試。以下是測(cè)試結(jié)果,結(jié)果中的耗時(shí)是查詢8次的平均用時(shí)。

表10. DolphinDB、Spark、Spark+Hive多用戶并發(fā)查詢結(jié)果

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

圖1. DolphinDB、Spark多用戶查詢結(jié)果對(duì)比

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

圖2. DolphinDB、Spark+Hive多用戶查詢結(jié)果對(duì)比

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

從上面的結(jié)果可以看出,隨著并發(fā)數(shù)量的增加,三者的查詢時(shí)間逐漸增加。當(dāng)達(dá)到8個(gè)用戶并發(fā)的時(shí)候Spark性能較之前少量的用戶并發(fā)情況下顯著下降,Spark 在執(zhí)行Q7的時(shí)候會(huì)導(dǎo)致worker死亡。Spark+ Hive在多用戶訪問(wèn)的時(shí)候與DolphinDB一樣,基本保持穩(wěn)定,但是執(zhí)行Q7查詢語(yǔ)句的一直會(huì)出現(xiàn)內(nèi)存溢出的異常。

Spark+ Hive的查詢配置與Spark 一樣,因?yàn)橛蟹謪^(qū)的作用,并且可以過(guò)濾數(shù)據(jù),查詢數(shù)據(jù)量比較小,所以效率相對(duì)于Spark掃描全部數(shù)據(jù)比較好。

DolphinDB在并發(fā)查詢中性能明顯優(yōu)于Spark 與Spark+ Hive,從上圖可以看出在多用戶并發(fā)訪問(wèn)情況下,隨著用戶數(shù)量的增加,DolphinDB相對(duì)于Spark 的優(yōu)勢(shì)幾乎是線性增長(zhǎng),相對(duì)于Spark + Hive 的優(yōu)勢(shì)基本保持不變,體現(xiàn)了有數(shù)據(jù)分區(qū)在查詢的時(shí)候?qū)崿F(xiàn)數(shù)據(jù)過(guò)濾的重要性。

DolphinDB在多用戶并發(fā)的情況下實(shí)現(xiàn)了多用戶的數(shù)據(jù)共享,不像Spark 的數(shù)據(jù)只是針對(duì)于具體的應(yīng)用。所以在8個(gè)并發(fā)用戶的情況下,Spark 每個(gè)用戶分配到的資源比較少,性能顯著下降。DolphinDB的數(shù)據(jù)共享可以減少資源的使用,在有限的資源下,把更多的資源留給用戶計(jì)算使用,提高用戶并發(fā)的效率,增大用戶的并發(fā)數(shù)量。

5. 小結(jié)

在數(shù)據(jù)的導(dǎo)入方面,DolphinDB可以并行加載,Spark與Spark+Hive 則通過(guò)多個(gè)應(yīng)用同時(shí)加載來(lái)導(dǎo)入數(shù)據(jù)。DolphinDB的導(dǎo)入速度是Spark 和Spark+ Hive 的4-6倍。在磁盤(pán)空間上,DolphinDB占用的磁盤(pán)空間是Spark與Spark+ Hive在Hadoop上占用的磁盤(pán)空間的兩倍左右,Spark與Spark + Hive使用了snappy壓縮。

在數(shù)據(jù)的SQL查詢方面,DolphinDB的優(yōu)勢(shì)更加明顯。優(yōu)勢(shì)主要來(lái)自四個(gè)方面:(1)本地化計(jì)算,(2)分區(qū)過(guò)濾,(3)優(yōu)化的內(nèi)存計(jì)算,(4)跨會(huì)話的數(shù)據(jù)共享。在單用戶查詢情況下,DolphinDB的查詢速度是Spark的幾倍到上百倍,是Spark+ Hive 的幾十倍。Spark 讀取HDFS 是不同的系統(tǒng)之間的調(diào)用,其中包含了數(shù)據(jù)的序列化,網(wǎng)絡(luò),反序列化非常消耗時(shí)間,且占據(jù)很多的資源。DolphinDB的SQL查詢大部分是本地化計(jì)算,大幅減少了數(shù)據(jù)傳輸和加載的時(shí)間。Spark+ Hive 相對(duì)與Spark速度提升很大,主要是因?yàn)镾park + Hive只掃描相關(guān)分區(qū)的數(shù)據(jù),實(shí)現(xiàn)了數(shù)據(jù)的過(guò)濾。在剔除本地化和分區(qū)過(guò)濾的因素后(即所有數(shù)據(jù)已經(jīng)在內(nèi)存中),DolphinDB的計(jì)算能力仍然優(yōu)于Spark數(shù)倍。DolphinDB基于分區(qū)的分布式計(jì)算效率很高,且對(duì)內(nèi)存的管理比Spark基于JVM的管理更加優(yōu)秀。Spark的多用戶并發(fā)會(huì)隨著用戶數(shù)量的增多效率逐漸下降,在查詢大數(shù)據(jù)量的時(shí)候用戶過(guò)多導(dǎo)致worker 死亡。Spark + Hive的多用戶并發(fā)相對(duì)比較穩(wěn)定,但是加載數(shù)據(jù)過(guò)大會(huì)出現(xiàn)內(nèi)存溢出錯(cuò)誤。 多用戶情況下, DolphinDB可以實(shí)現(xiàn)數(shù)據(jù)的共享,從而減少加載數(shù)據(jù)使用的資源,查詢速度是Spark的數(shù)百倍,是Spark+Hive 的幾十倍。隨著用戶數(shù)量的增加,DolphinDB相對(duì)于Spark的性能優(yōu)勢(shì)更加明顯。涉及到分區(qū)查詢的情況下,Spark+ Hive與DolphinDB顯著提高查詢性能。

Spark是一個(gè)非常優(yōu)秀的通用分布式計(jì)算引擎,在SQL查詢、批處理、流處理、機(jī)器學(xué)習(xí)等方面均有上佳表現(xiàn)。但由于SQL查詢通常只需要對(duì)數(shù)據(jù)計(jì)算一次,相對(duì)于機(jī)器學(xué)習(xí)需要上百次的迭代,內(nèi)存計(jì)算的優(yōu)勢(shì)無(wú)法充分體現(xiàn)。因此,我們更建議將Spark用于計(jì)算密集型的機(jī)器學(xué)習(xí)。

在測(cè)試過(guò)程中,我們也發(fā)現(xiàn)DolphinDB是一個(gè)非常輕量級(jí)的實(shí)現(xiàn),集群的搭建簡(jiǎn)單快速, Spark + Hive+ Hadoop 集群安裝配置非常復(fù)雜。

附錄

附錄1. 數(shù)據(jù)預(yù)覽

如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告

附錄2. Hive創(chuàng)建表語(yǔ)句

CREATE TABLE IF NOT EXISTS TAQ (time TIMESTAMP, bid DOUBLE, ofr DOUBLE, bidsiz INT, ofrsiz INT, mode INT, ex TINYINT, mmid STRING)PARTITIONED BY (date DATE, symbol STRING) STORED AS PARQUET;

附錄3.

DolphinDB導(dǎo)入數(shù)據(jù)腳本:

fps1、fps2分別代表機(jī)器1、2上所有的csv路徑的vector
fps是包含fps1和fps2 的vector
allSites1、allSites2 分別代表機(jī)器1、2上數(shù)據(jù)節(jié)點(diǎn)名稱的vector
allSite 是包含 allSites1和allSites2的vector
DATE_RANGE=2007.07.01..2007.09.01
date_schema=database('', VALUE, DATE_RANGE)
symbol_schema=database('', RANGE, buckets)
db=database(FP_DB, COMPO,[date_schema,symbol_schema])
taq = db.createPartitionedTable(schema, `taq, `date`symbol)
for(i in 0..1){
	for(j in 0..(size(fps[i])-1))  {
		rpc(allSites[i][j] % size(allSite[i])],submitJob,"loadData" , "loadData" ,loadTextEx{database(FP_DB), "taq", `date`symbol, fps[i][j]} )
	}
}

Spark與Hive導(dǎo)入數(shù)據(jù)的配置:

--master local[8]
--executor-memory 24G

看完上述內(nèi)容,你們對(duì)如何分析時(shí)序數(shù)據(jù)庫(kù)DolphinDB與Spark的性能對(duì)比測(cè)試報(bào)告有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI