diff --git a/README.md b/README.md index 1a6281a99..caad63924 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ The following chart shows the time it takes to run the 22 TPC-H queries against using a single executor with 8 cores. See the [Comet Benchmarking Guide](https://datafusion.apache.org/comet/contributor-guide/benchmarking.html) for details of the environment used for these benchmarks. -When using Comet, the overall run time is reduced from 616 seconds to 374 seconds, a 1.6x speedup, with query 1 +When using Comet, the overall run time is reduced from 615 seconds to 364 seconds, a 1.7x speedup, with query 1 running 9x faster than Spark. Running the same queries with DataFusion standalone (without Spark) using the same number of cores results in a 3.6x @@ -55,21 +55,21 @@ speedup compared to Spark. Comet is not yet achieving full DataFusion speeds in all cases, but with future work we aim to provide a 2x-4x speedup for a broader set of queries. -![](docs/source/_static/images/benchmark-results/0.3.0/tpch_allqueries.png) +![](docs/source/_static/images/benchmark-results/0.4.0/tpch_allqueries.png) Here is a breakdown showing relative performance of Spark, Comet, and DataFusion for each TPC-H query. -![](docs/source/_static/images/benchmark-results/0.3.0/tpch_queries_compare.png) +![](docs/source/_static/images/benchmark-results/0.4.0/tpch_queries_compare.png) The following charts shows how much Comet currently accelerates each query from the benchmark. ### Relative speedup -![](docs/source/_static/images/benchmark-results/0.3.0/tpch_queries_speedup_rel.png) +![](docs/source/_static/images/benchmark-results/0.4.0/tpch_queries_speedup_rel.png) ### Absolute speedup -![](docs/source/_static/images/benchmark-results/0.3.0/tpch_queries_speedup_abs.png) +![](docs/source/_static/images/benchmark-results/0.4.0/tpch_queries_speedup_abs.png) These benchmarks can be reproduced in any environment using the documentation in the [Comet Benchmarking Guide](https://datafusion.apache.org/comet/contributor-guide/benchmarking.html). We encourage diff --git a/docs/source/_static/images/benchmark-results/0.4.0/tpcds_allqueries.png b/docs/source/_static/images/benchmark-results/0.4.0/tpcds_allqueries.png new file mode 100644 index 000000000..b1c9e3c90 Binary files /dev/null and b/docs/source/_static/images/benchmark-results/0.4.0/tpcds_allqueries.png differ diff --git a/docs/source/_static/images/benchmark-results/0.4.0/tpcds_queries_compare.png b/docs/source/_static/images/benchmark-results/0.4.0/tpcds_queries_compare.png new file mode 100644 index 000000000..e367fe4cc Binary files /dev/null and b/docs/source/_static/images/benchmark-results/0.4.0/tpcds_queries_compare.png differ diff --git a/docs/source/_static/images/benchmark-results/0.4.0/tpcds_queries_speedup_abs.png b/docs/source/_static/images/benchmark-results/0.4.0/tpcds_queries_speedup_abs.png new file mode 100644 index 000000000..d719bdbb1 Binary files /dev/null and b/docs/source/_static/images/benchmark-results/0.4.0/tpcds_queries_speedup_abs.png differ diff --git a/docs/source/_static/images/benchmark-results/0.4.0/tpcds_queries_speedup_rel.png b/docs/source/_static/images/benchmark-results/0.4.0/tpcds_queries_speedup_rel.png new file mode 100644 index 000000000..afbea75ac Binary files /dev/null and b/docs/source/_static/images/benchmark-results/0.4.0/tpcds_queries_speedup_rel.png differ diff --git a/docs/source/_static/images/benchmark-results/0.4.0/tpch_allqueries.png b/docs/source/_static/images/benchmark-results/0.4.0/tpch_allqueries.png new file mode 100644 index 000000000..24a3698bb Binary files /dev/null and b/docs/source/_static/images/benchmark-results/0.4.0/tpch_allqueries.png differ diff --git a/docs/source/_static/images/benchmark-results/0.4.0/tpch_queries_compare.png b/docs/source/_static/images/benchmark-results/0.4.0/tpch_queries_compare.png new file mode 100644 index 000000000..8d3223a9f Binary files /dev/null and b/docs/source/_static/images/benchmark-results/0.4.0/tpch_queries_compare.png differ diff --git a/docs/source/_static/images/benchmark-results/0.4.0/tpch_queries_speedup_abs.png b/docs/source/_static/images/benchmark-results/0.4.0/tpch_queries_speedup_abs.png new file mode 100644 index 000000000..f8b3eeaea Binary files /dev/null and b/docs/source/_static/images/benchmark-results/0.4.0/tpch_queries_speedup_abs.png differ diff --git a/docs/source/_static/images/benchmark-results/0.4.0/tpch_queries_speedup_rel.png b/docs/source/_static/images/benchmark-results/0.4.0/tpch_queries_speedup_rel.png new file mode 100644 index 000000000..d95b41503 Binary files /dev/null and b/docs/source/_static/images/benchmark-results/0.4.0/tpch_queries_speedup_rel.png differ diff --git a/docs/source/contributor-guide/benchmark-results/0.3.0/datafusion-python-tpch.json b/docs/source/contributor-guide/benchmark-results/0.3.0/datafusion-python-tpch.json deleted file mode 100644 index 8f6ca23a2..000000000 --- a/docs/source/contributor-guide/benchmark-results/0.3.0/datafusion-python-tpch.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "engine": "datafusion-python", - "datafusion-version": "40.1.0", - "benchmark": "tpch", - "data_path": "/mnt/bigdata/tpch/sf100", - "query_path": "../../tpch/queries/", - "1": [ - 5.120208740234375 - ], - "2": [ - 3.7675418853759766 - ], - "3": [ - 5.07387113571167 - ], - "4": [ - 1.9587907791137695 - ], - "5": [ - 8.816755771636963 - ], - "6": [ - 1.0937256813049316 - ], - "7": [ - 17.575931549072266 - ], - "8": [ - 8.337157964706421 - ], - "9": [ - 17.257150411605835 - ], - "10": [ - 7.945651292800903 - ], - "11": [ - 2.7080790996551514 - ], - "12": [ - 1.7468397617340088 - ], - "13": [ - 5.695569276809692 - ], - "14": [ - 2.0220673084259033 - ], - "15": [ - 4.112257719039917 - ], - "16": [ - 1.9162819385528564 - ], - "17": [ - 21.812944650650024 - ], - "18": [ - 23.510076999664307 - ], - "19": [ - 2.842766761779785 - ], - "20": [ - 7.717615842819214 - ], - "21": [ - 19.96519947052002 - ], - "22": [ - 1.0273211002349854 - ] -} \ No newline at end of file diff --git a/docs/source/contributor-guide/benchmark-results/0.4.0/comet-tpcds.json b/docs/source/contributor-guide/benchmark-results/0.4.0/comet-tpcds.json new file mode 100644 index 000000000..ecd632e84 --- /dev/null +++ b/docs/source/contributor-guide/benchmark-results/0.4.0/comet-tpcds.json @@ -0,0 +1,755 @@ +{ + "engine": "datafusion-comet", + "benchmark": "tpcds", + "data_path": "/mnt/bigdata/tpcds/sf100/", + "query_path": "/tpcds", + "spark_conf": { + "spark.executor.instances": "4", + "spark.comet.cast.allowIncompatible": "true", + "spark.kubernetes.memoryOverheadFactor": "0.4", + "spark.app.initial.jar.urls": "file:/opt/spark/jars/comet-spark-spark3.4_2.12-0.4.0-SNAPSHOT.jar", + "spark.kubernetes.authenticate.driver.serviceAccountName": "spark", + "spark.kubernetes.executor.container.image": "woody:5000/spark-tpcbench:comet", + "spark.kubernetes.driver.volumes.hostPath.data.mount.path": "/mnt/bigdata", + "spark.kubernetes.driver.volumes.persistentVolumeClaim.benchmark-results-pv.options.claimName": "benchmark-results-pvc", + "spark.comet.exec.shuffle.enabled": "true", + "spark.memory.offHeap.enabled": "true", + "spark.memory.offHeap.size": "32g", + "spark.executor.memoryOverhead": "2457M", + "spark.master": "k8s://https://kube1:6443", + "spark.app.startTime": "1731962698535", + "spark.app.id": "spark-41930409e7b1448a837ed5c0d9130620", + "spark.kubernetes.executor.podNamePrefix": "comet-benchmark-derived-from-tpcds-31aa739341057c91", + "spark.serializer.objectStreamReset": "100", + "spark.executor.memory": "8g", + "spark.submit.deployMode": "client", + "spark.kubernetes.driver.volumes.hostPath.data.options.path": "/mnt/bigdata", + "spark.driver.host": "tpcbench-py-26286b934105723b-driver-svc.default.svc", + "spark.eventLog.enabled": "false", + "spark.kubernetes.container.image.pullPolicy": "Always", + "spark.kubernetes.submitInDriver": "true", + "spark.comet.exec.replaceSortMergeJoin": "false", + "spark.driver.bindAddress": "10.42.1.9", + "spark.sql.warehouse.dir": "file:/opt/spark/work-dir/spark-warehouse", + "spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.jars": "local:/opt/spark/jars/comet-spark-spark3.4_2.12-0.4.0-SNAPSHOT.jar", + "spark.shuffle.manager": "org.apache.spark.sql.comet.execution.shuffle.CometShuffleManager", + "spark.driver.blockManager.port": "7079", + "spark.repl.local.jars": "local:///opt/spark/jars/comet-spark-spark3.4_2.12-0.4.0-SNAPSHOT.jar", + "spark.app.submitTime": "1731962698320", + "spark.driver.extraClassPath": "local:///opt/spark/jars/comet-spark-spark3.4_2.12-0.4.0-SNAPSHOT.jar", + "spark.executor.id": "driver", + "spark.kubernetes.driver.volumes.persistentVolumeClaim.benchmark-results-pv.mount.readOnly": "false", + "spark.comet.exec.shuffle.mode": "auto", + "spark.driver.memory": "8G", + "spark.plugins": "org.apache.spark.CometPlugin", + "spark.driver.port": "7078", + "spark.sql.extensions": "org.apache.comet.CometSparkSessionExtensions", + "spark.kubernetes.driver.pod.name": "tpcbench-py-26286b934105723b-driver", + "spark.kubernetes.driver.volumes.hostPath.data.options.readOnly": "false", + "spark.kubernetes.resource.type": "python", + "spark.kubernetes.executor.volumes.hostPath.data.mount.path": "/mnt/bigdata", + "spark.kubernetes.driver.container.image": "woody:5000/spark-tpcbench:comet", + "spark.executor.cores": "6", + "spark.kubernetes.driver.volumes.persistentVolumeClaim.benchmark-results-pv.mount.path": "/mnt/benchmark-results", + "spark.rdd.compress": "True", + "spark.kubernetes.executor.volumes.hostPath.data.options.path": "/mnt/bigdata", + "spark.executor.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.submit.pyFiles": "", + "spark.executor.extraClassPath": "local:///opt/spark/jars/comet-spark-spark3.4_2.12-0.4.0-SNAPSHOT.jar", + "spark.app.name": "comet benchmark derived from tpcds" + }, + "1": [ + 3.613295316696167, + 0.9363176822662354, + 0.8858673572540283, + 0.9213356971740723, + 0.9260072708129883 + ], + "2": [ + 2.1988301277160645, + 1.2930514812469482, + 1.2836058139801025, + 1.3122997283935547, + 1.310011863708496 + ], + "3": [ + 1.1296944618225098, + 0.8390710353851318, + 0.863898754119873, + 0.8277552127838135, + 0.8591916561126709 + ], + "4": [ + 23.46227192878723, + 23.30874729156494, + 22.632073640823364, + 23.021177530288696, + 23.210322380065918 + ], + "5": [ + 4.248774290084839, + 3.8154327869415283, + 3.7951250076293945, + 3.841792583465576, + 3.830977201461792 + ], + "6": [ + 1.2654953002929688, + 1.0582756996154785, + 1.0062625408172607, + 0.9889535903930664, + 1.0066215991973877 + ], + "7": [ + 1.9927458763122559, + 1.7910470962524414, + 1.7864744663238525, + 1.8166968822479248, + 1.8165059089660645 + ], + "8": [ + 1.39858078956604, + 1.1697239875793457, + 1.181609869003296, + 1.1592917442321777, + 1.2115702629089355 + ], + "9": [ + 3.8118808269500732, + 3.5978047847747803, + 3.6009204387664795, + 3.6475167274475098, + 3.720515489578247 + ], + "10": [ + 1.6375336647033691, + 1.253730058670044, + 1.2790555953979492, + 1.2641334533691406, + 1.2304799556732178 + ], + "11": [ + 8.888672590255737, + 8.726006031036377, + 8.779715061187744, + 8.728724002838135, + 8.738395929336548 + ], + "12": [ + 1.209524393081665, + 1.1902368068695068, + 1.2197084426879883, + 1.214184045791626, + 1.0896027088165283 + ], + "13": [ + 2.334285259246826, + 2.3459174633026123, + 2.376317262649536, + 2.3597984313964844, + 2.399404287338257 + ], + "14": [ + 22.216265201568604, + 21.80620813369751, + 22.18099617958069, + 22.004033088684082, + 22.437575578689575 + ], + "15": [ + 2.6664204597473145, + 2.5816941261291504, + 2.6421005725860596, + 2.655304193496704, + 2.6851134300231934 + ], + "16": [ + 7.677209854125977, + 7.403982400894165, + 7.679336309432983, + 7.390750169754028, + 7.398985385894775 + ], + "17": [ + 2.4100611209869385, + 2.4173429012298584, + 2.3482720851898193, + 2.3698456287384033, + 2.4305622577667236 + ], + "18": [ + 2.439337730407715, + 2.5373470783233643, + 2.4983959197998047, + 2.529120922088623, + 2.538098096847534 + ], + "19": [ + 2.5696511268615723, + 2.5729575157165527, + 2.5877132415771484, + 2.5895493030548096, + 2.584230899810791 + ], + "20": [ + 1.7106993198394775, + 1.6393051147460938, + 1.5836944580078125, + 1.624565839767456, + 1.6353082656860352 + ], + "21": [ + 1.096069097518921, + 1.0144309997558594, + 1.0689029693603516, + 1.1604490280151367, + 1.0859742164611816 + ], + "22": [ + 8.084425210952759, + 8.307284593582153, + 8.248545169830322, + 8.41027283668518, + 8.130585432052612 + ], + "23": [ + 31.006169080734253, + 31.809021949768066, + 31.491374731063843, + 31.673828125, + 32.41964364051819 + ], + "24": [ + 13.210773944854736, + 12.064785242080688, + 12.284985542297363, + 12.34001111984253, + 13.093876361846924 + ], + "25": [ + 2.7884602546691895, + 2.611072301864624, + 2.6468446254730225, + 2.5781397819519043, + 2.732714891433716 + ], + "26": [ + 1.1039531230926514, + 1.038722276687622, + 1.0986864566802979, + 0.9996967315673828, + 1.0384690761566162 + ], + "27": [ + 1.8319566249847412, + 1.8125741481781006, + 1.7781953811645508, + 1.7830994129180908, + 1.8019931316375732 + ], + "28": [ + 4.2303125858306885, + 4.181443214416504, + 4.171067953109741, + 4.197100639343262, + 4.169423341751099 + ], + "29": [ + 3.66855525970459, + 3.7532052993774414, + 3.566790819168091, + 3.7179572582244873, + 3.686014175415039 + ], + "30": [ + 1.117868185043335, + 1.2058172225952148, + 1.0498886108398438, + 1.1140456199645996, + 1.1328985691070557 + ], + "31": [ + 4.85772180557251, + 4.797250270843506, + 4.839718818664551, + 4.840039014816284, + 4.837655782699585 + ], + "32": [ + 1.3921968936920166, + 1.3323743343353271, + 1.4425835609436035, + 1.348841667175293, + 1.3850789070129395 + ], + "33": [ + 2.293806314468384, + 2.253751754760742, + 2.240044593811035, + 2.2648448944091797, + 2.2620596885681152 + ], + "34": [ + 1.3108677864074707, + 1.2720186710357666, + 1.3723440170288086, + 1.2785835266113281, + 1.26865816116333 + ], + "35": [ + 2.447936773300171, + 2.445019483566284, + 2.438453197479248, + 2.401923179626465, + 2.5346932411193848 + ], + "36": [ + 2.4888269901275635, + 2.191847085952759, + 2.1506924629211426, + 2.1331875324249268, + 2.2247748374938965 + ], + "37": [ + 1.82137131690979, + 1.7718479633331299, + 1.762279748916626, + 1.805389165878296, + 1.8042621612548828 + ], + "38": [ + 2.4564521312713623, + 2.7351372241973877, + 2.2422144412994385, + 2.271132707595825, + 2.6268062591552734 + ], + "39": [ + 15.272886514663696, + 16.56870722770691, + 15.184351682662964, + 17.65111756324768, + 16.851532697677612 + ], + "40": [ + 4.618505954742432, + 4.582245826721191, + 4.805966854095459, + 4.843486547470093, + 4.6164655685424805 + ], + "41": [ + 0.15246796607971191, + 0.12736821174621582, + 0.123199462890625, + 0.13370347023010254, + 0.13098549842834473 + ], + "42": [ + 0.8077573776245117, + 0.7788431644439697, + 0.755042314529419, + 0.7611534595489502, + 0.7864503860473633 + ], + "43": [ + 1.0223720073699951, + 1.0028953552246094, + 1.0250427722930908, + 1.0194573402404785, + 1.076014518737793 + ], + "44": [ + 1.1571755409240723, + 1.1396656036376953, + 1.1511790752410889, + 1.1235918998718262, + 1.1504936218261719 + ], + "45": [ + 1.8097100257873535, + 1.8120465278625488, + 1.8139166831970215, + 1.7709436416625977, + 1.7835633754730225 + ], + "46": [ + 2.4002232551574707, + 2.2962591648101807, + 2.38244366645813, + 2.4457669258117676, + 2.4249236583709717 + ], + "47": [ + 5.617861032485962, + 5.408482551574707, + 5.431608438491821, + 5.449252128601074, + 5.623114109039307 + ], + "48": [ + 1.638838768005371, + 1.68455171585083, + 1.6805500984191895, + 1.6506848335266113, + 1.642219066619873 + ], + "49": [ + 4.706164598464966, + 4.6550188064575195, + 4.703380346298218, + 4.4827210903167725, + 4.653671503067017 + ], + "50": [ + 6.328258275985718, + 6.51447057723999, + 6.318875789642334, + 6.525310277938843, + 6.306564569473267 + ], + "51": [ + 7.000143051147461, + 6.798591613769531, + 6.729523658752441, + 6.572738170623779, + 6.712196111679077 + ], + "52": [ + 0.919975757598877, + 0.8573052883148193, + 0.8529157638549805, + 0.8662893772125244, + 0.8644464015960693 + ], + "53": [ + 1.268928050994873, + 1.1189360618591309, + 1.155031442642212, + 1.151642084121704, + 1.1593868732452393 + ], + "54": [ + 2.8306691646575928, + 2.8038384914398193, + 2.8667569160461426, + 2.8659167289733887, + 2.8607115745544434 + ], + "55": [ + 0.9192891120910645, + 0.8829891681671143, + 0.9207160472869873, + 0.9063892364501953, + 0.9118208885192871 + ], + "56": [ + 2.098660469055176, + 2.0563149452209473, + 2.0371997356414795, + 2.0526468753814697, + 2.052966594696045 + ], + "57": [ + 3.1710643768310547, + 3.102032423019409, + 3.1820738315582275, + 3.2220702171325684, + 3.1981401443481445 + ], + "58": [ + 4.2822654247283936, + 4.219950199127197, + 4.260200023651123, + 4.203465700149536, + 4.235920667648315 + ], + "59": [ + 2.8434674739837646, + 2.8698465824127197, + 2.958869218826294, + 2.9485886096954346, + 2.944758176803589 + ], + "60": [ + 2.0825767517089844, + 2.0261218547821045, + 2.093472957611084, + 2.028120756149292, + 2.0296173095703125 + ], + "61": [ + 4.164551496505737, + 4.247161149978638, + 4.208996057510376, + 4.154303073883057, + 4.216529369354248 + ], + "62": [ + 0.6185667514801025, + 0.6253015995025635, + 0.6186847686767578, + 0.6257288455963135, + 0.6202499866485596 + ], + "63": [ + 1.088174819946289, + 1.0861599445343018, + 1.045111894607544, + 1.0676589012145996, + 1.0662899017333984 + ], + "64": [ + 11.732340097427368, + 11.538040399551392, + 11.864402532577515, + 11.667150020599365, + 11.87758994102478 + ], + "65": [ + 6.239193439483643, + 6.3904407024383545, + 6.047687768936157, + 6.067760467529297, + 6.426549196243286 + ], + "66": [ + 2.0485336780548096, + 2.0909292697906494, + 2.0843634605407715, + 2.114530324935913, + 2.2097740173339844 + ], + "67": [ + 23.676459312438965, + 24.08505654335022, + 24.311410903930664, + 23.65312933921814, + 23.644501447677612 + ], + "68": [ + 2.6239256858825684, + 2.68916654586792, + 2.713677406311035, + 2.735755443572998, + 2.6569156646728516 + ], + "69": [ + 1.3641211986541748, + 1.3893208503723145, + 1.4258897304534912, + 1.406707763671875, + 1.4287145137786865 + ], + "70": [ + 2.3978335857391357, + 2.388171911239624, + 2.311910629272461, + 2.323887825012207, + 2.357830286026001 + ], + "71": [ + 2.148318290710449, + 2.0978829860687256, + 2.1367037296295166, + 2.1240034103393555, + 2.096367359161377 + ], + "72": [ + 55.71474242210388, + 55.65497851371765, + 55.09920024871826, + 54.11650276184082, + 56.20997095108032 + ], + "73": [ + 0.981971025466919, + 1.0062155723571777, + 0.9884769916534424, + 1.0174438953399658, + 0.9753994941711426 + ], + "74": [ + 6.0974955558776855, + 6.090858697891235, + 6.104249477386475, + 6.180070161819458, + 6.250415325164795 + ], + "75": [ + 7.970996618270874, + 7.890105485916138, + 7.769358396530151, + 7.92317795753479, + 7.910406589508057 + ], + "76": [ + 1.833014726638794, + 1.8315975666046143, + 1.8497719764709473, + 1.8833909034729004, + 1.8657946586608887 + ], + "77": [ + 2.430835008621216, + 2.378892660140991, + 2.253649950027466, + 2.3566322326660156, + 2.381143093109131 + ], + "78": [ + 13.936902523040771, + 14.407816886901855, + 14.292723894119263, + 14.425165891647339, + 14.25799822807312 + ], + "79": [ + 1.7828254699707031, + 1.8427963256835938, + 1.8661816120147705, + 1.9232194423675537, + 1.905480146408081 + ], + "80": [ + 10.53323483467102, + 10.418278694152832, + 10.549378871917725, + 10.663471698760986, + 10.687374830245972 + ], + "81": [ + 1.3656373023986816, + 1.3399004936218262, + 1.3288192749023438, + 1.4544517993927002, + 1.3790254592895508 + ], + "82": [ + 3.3641715049743652, + 3.279186964035034, + 3.213341236114502, + 3.3441648483276367, + 3.389477014541626 + ], + "83": [ + 0.7808544635772705, + 0.7731945514678955, + 0.8409247398376465, + 0.9210186004638672, + 0.8299705982208252 + ], + "84": [ + 0.7040410041809082, + 0.7207241058349609, + 0.7018799781799316, + 0.8818099498748779, + 0.6937227249145508 + ], + "85": [ + 1.421285629272461, + 1.4219837188720703, + 1.5009398460388184, + 1.5087964534759521, + 1.4539406299591064 + ], + "86": [ + 0.7153642177581787, + 0.653031587600708, + 0.6546626091003418, + 0.7315728664398193, + 0.6839661598205566 + ], + "87": [ + 2.6152150630950928, + 2.4368674755096436, + 2.447220802307129, + 2.4948906898498535, + 2.4271810054779053 + ], + "88": [ + 3.7563509941101074, + 3.7107393741607666, + 3.740159511566162, + 3.9487733840942383, + 3.7908895015716553 + ], + "89": [ + 1.3733341693878174, + 1.3950858116149902, + 1.3895792961120605, + 1.434366226196289, + 1.4087369441986084 + ], + "90": [ + 0.32382941246032715, + 0.3856828212738037, + 0.31131482124328613, + 0.3739144802093506, + 0.3414499759674072 + ], + "91": [ + 0.4922313690185547, + 0.4702589511871338, + 0.4913055896759033, + 0.547508955001831, + 0.47322750091552734 + ], + "92": [ + 0.5397188663482666, + 0.5313537120819092, + 0.5446431636810303, + 0.5584907531738281, + 0.5503730773925781 + ], + "93": [ + 7.6846864223480225, + 7.392237186431885, + 7.6069016456604, + 7.612182378768921, + 7.472257614135742 + ], + "94": [ + 4.253883123397827, + 4.180011034011841, + 4.123626470565796, + 4.342567205429077, + 4.465695381164551 + ], + "95": [ + 14.060906887054443, + 14.277164697647095, + 14.19387698173523, + 14.002771854400635, + 15.193023920059204 + ], + "96": [ + 0.526421070098877, + 0.5006999969482422, + 0.5214729309082031, + 0.5473310947418213, + 0.517216682434082 + ], + "97": [ + 3.6567018032073975, + 3.5691311359405518, + 3.5199546813964844, + 3.6811041831970215, + 3.667187213897705 + ], + "98": [ + 3.188143253326416, + 3.1263539791107178, + 3.1795992851257324, + 3.23490834236145, + 3.170579671859741 + ], + "99": [ + 1.0296411514282227, + 1.0101523399353027, + 1.0162627696990967, + 1.0697321891784668, + 1.0347280502319336 + ] +} \ No newline at end of file diff --git a/docs/source/contributor-guide/benchmark-results/0.4.0/comet-tpch.json b/docs/source/contributor-guide/benchmark-results/0.4.0/comet-tpch.json new file mode 100644 index 000000000..25404f872 --- /dev/null +++ b/docs/source/contributor-guide/benchmark-results/0.4.0/comet-tpch.json @@ -0,0 +1,219 @@ +{ + "engine": "datafusion-comet", + "benchmark": "tpch", + "data_path": "/mnt/bigdata/tpch/sf100/", + "query_path": "/tpch", + "spark_conf": { + "spark.comet.cast.allowIncompatible": "true", + "spark.kubernetes.memoryOverheadFactor": "0.4", + "spark.kubernetes.driver.volumes.hostPath.data.mount.path": "/mnt/bigdata", + "spark.driver.host": "tpcbench-py-a08b54934067a8b3-driver-svc.default.svc", + "spark.memory.offHeap.size": "32g", + "spark.master": "k8s://https://kube1:6443", + "spark.kubernetes.driver.volumes.hostPath.data.options.path": "/mnt/bigdata", + "spark.comet.exec.all.enabled": "true", + "spark.driver.bindAddress": "10.42.0.10", + "spark.eventLog.enabled": "false", + "spark.kubernetes.container.image.pullPolicy": "Always", + "spark.kubernetes.submitInDriver": "true", + "spark.app.submitTime": "1731952357631", + "spark.sql.warehouse.dir": "file:/opt/spark/work-dir/spark-warehouse", + "spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.jars": "local:/opt/spark/jars/comet-spark-spark3.4_2.12-0.4.0-SNAPSHOT.jar", + "spark.shuffle.manager": "org.apache.spark.sql.comet.execution.shuffle.CometShuffleManager", + "spark.comet.exec.enabled": "true", + "spark.executor.id": "driver", + "spark.kubernetes.driver.volumes.persistentVolumeClaim.benchmark-results-pv.mount.readOnly": "false", + "spark.comet.exec.shuffle.mode": "auto", + "spark.driver.memory": "8G", + "spark.driver.port": "7078", + "spark.sql.extensions": "org.apache.comet.CometSparkSessionExtensions", + "spark.kubernetes.driver.volumes.hostPath.data.options.readOnly": "false", + "spark.kubernetes.executor.podNamePrefix": "comet-benchmark-derived-from-tpch-42d900934067b351", + "spark.kubernetes.executor.volumes.hostPath.data.mount.path": "/mnt/bigdata", + "spark.kubernetes.driver.container.image": "woody:5000/spark-tpcbench:comet", + "spark.executor.instances": "1", + "spark.kubernetes.driver.pod.name": "tpcbench-py-a08b54934067a8b3-driver", + "spark.executor.extraClassPath": "local:///opt/spark/jars/comet-spark-spark3.4_2.12-0.4.0-SNAPSHOT.jar", + "spark.comet.explain.native.enabled": "false", + "spark.executor.memoryOverhead": "4914M", + "spark.app.initial.jar.urls": "file:/opt/spark/jars/comet-spark-spark3.4_2.12-0.4.0-SNAPSHOT.jar", + "spark.kubernetes.authenticate.driver.serviceAccountName": "spark", + "spark.kubernetes.executor.container.image": "woody:5000/spark-tpcbench:comet", + "spark.kubernetes.driver.volumes.persistentVolumeClaim.benchmark-results-pv.options.claimName": "benchmark-results-pvc", + "spark.comet.exec.replaceSortMergeJoin": "true", + "spark.comet.exec.shuffle.enabled": "true", + "spark.memory.offHeap.enabled": "true", + "spark.app.name": "comet benchmark derived from tpch", + "spark.executor.memory": "16G", + "spark.serializer.objectStreamReset": "100", + "spark.submit.deployMode": "client", + "spark.app.id": "spark-71d7e005c63b4f7a9a54d11eaa5d99d4", + "spark.executor.cores": "8", + "spark.driver.blockManager.port": "7079", + "spark.repl.local.jars": "local:///opt/spark/jars/comet-spark-spark3.4_2.12-0.4.0-SNAPSHOT.jar", + "spark.driver.extraClassPath": "local:///opt/spark/jars/comet-spark-spark3.4_2.12-0.4.0-SNAPSHOT.jar", + "spark.plugins": "org.apache.spark.CometPlugin", + "spark.app.startTime": "1731952357848", + "spark.kubernetes.resource.type": "python", + "spark.kubernetes.driver.volumes.persistentVolumeClaim.benchmark-results-pv.mount.path": "/mnt/benchmark-results", + "spark.rdd.compress": "True", + "spark.kubernetes.executor.volumes.hostPath.data.options.path": "/mnt/bigdata", + "spark.executor.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.submit.pyFiles": "" + }, + "1": [ + 12.675217866897583, + 10.69823956489563, + 10.959712743759155, + 11.049235582351685, + 11.25637674331665 + ], + "2": [ + 7.2883970737457275, + 6.955080509185791, + 6.996195316314697, + 7.001482725143433, + 6.981860399246216 + ], + "3": [ + 17.389552116394043, + 17.815346479415894, + 18.098077297210693, + 18.250796794891357, + 18.289159297943115 + ], + "4": [ + 9.9054114818573, + 9.76110053062439, + 9.778793573379517, + 9.659870386123657, + 9.890227794647217 + ], + "5": [ + 29.422667026519775, + 29.41081738471985, + 29.542785167694092, + 29.379701375961304, + 30.072590589523315 + ], + "6": [ + 2.591843843460083, + 2.5433740615844727, + 2.486654758453369, + 2.5132291316986084, + 2.507908821105957 + ], + "7": [ + 17.24040937423706, + 17.355087280273438, + 17.514805555343628, + 17.43350887298584, + 17.35370373725891 + ], + "8": [ + 29.68608021736145, + 29.521278858184814, + 29.879571437835693, + 29.99302840232849, + 30.18179965019226 + ], + "9": [ + 44.744760274887085, + 45.07009744644165, + 45.67892384529114, + 45.49783205986023, + 46.2200129032135 + ], + "10": [ + 16.815892696380615, + 16.816420078277588, + 16.754045486450195, + 16.916579008102417, + 16.823299169540405 + ], + "11": [ + 5.107349395751953, + 4.9230499267578125, + 4.9613683223724365, + 4.954375743865967, + 4.949444770812988 + ], + "12": [ + 5.476846694946289, + 5.373950719833374, + 5.399810791015625, + 5.373565196990967, + 5.389242172241211 + ], + "13": [ + 11.168701410293579, + 11.108731031417847, + 11.159045219421387, + 10.97795581817627, + 11.064870119094849 + ], + "14": [ + 5.262895584106445, + 5.161571502685547, + 5.15362286567688, + 5.113251209259033, + 5.200662136077881 + ], + "15": [ + 9.296111345291138, + 9.049000263214111, + 8.952059745788574, + 9.111369371414185, + 9.09269094467163 + ], + "16": [ + 6.102790832519531, + 5.706904411315918, + 5.573681831359863, + 5.436795473098755, + 5.416778802871704 + ], + "17": [ + 34.57182478904724, + 34.73775792121887, + 34.8440580368042, + 35.2716920375824, + 35.55662488937378 + ], + "18": [ + 32.07862377166748, + 31.731548070907593, + 31.748567819595337, + 31.76587414741516, + 31.907649993896484 + ], + "19": [ + 6.052667140960693, + 5.940260887145996, + 5.960237264633179, + 6.020690441131592, + 6.060962677001953 + ], + "20": [ + 10.794468641281128, + 10.485475778579712, + 10.518470525741577, + 10.661662101745605, + 10.678892850875854 + ], + "21": [ + 47.43690896034241, + 46.92784881591797, + 46.689401626586914, + 52.07501554489136, + 53.362786054611206 + ], + "22": [ + 4.79883337020874, + 4.179429054260254, + 4.191235303878784, + 4.875058889389038, + 5.055111885070801 + ] +} \ No newline at end of file diff --git a/docs/source/contributor-guide/benchmark-results/0.4.0/spark-tpcds.json b/docs/source/contributor-guide/benchmark-results/0.4.0/spark-tpcds.json new file mode 100644 index 000000000..69da37627 --- /dev/null +++ b/docs/source/contributor-guide/benchmark-results/0.4.0/spark-tpcds.json @@ -0,0 +1,742 @@ +{ + "engine": "datafusion-comet", + "benchmark": "tpcds", + "data_path": "/mnt/bigdata/tpcds/sf100/", + "query_path": "/tpcds", + "spark_conf": { + "spark.executor.instances": "4", + "spark.kubernetes.memoryOverheadFactor": "0.4", + "spark.kubernetes.driver.pod.name": "tpcbench-py-630faa934132c6a0-driver", + "spark.kubernetes.authenticate.driver.serviceAccountName": "spark", + "spark.kubernetes.driver.volumes.hostPath.data.mount.path": "/mnt/bigdata", + "spark.kubernetes.driver.volumes.persistentVolumeClaim.benchmark-results-pv.options.claimName": "benchmark-results-pvc", + "spark.kubernetes.executor.podNamePrefix": "spark-benchmark-derived-from-tpcds-e2f7c6934132d1e7", + "spark.memory.offHeap.enabled": "true", + "spark.memory.offHeap.size": "32g", + "spark.master": "k8s://https://kube1:6443", + "spark.driver.bindAddress": "10.42.1.12", + "spark.app.id": "spark-70c8317ee1414dd18a7f648dd9213dc3", + "spark.kubernetes.executor.container.image": "apache/spark:3.4.2", + "spark.kubernetes.driver.container.image": "woody:5000/spark-tpcbench:spark", + "spark.app.startTime": "1731965669512", + "spark.serializer.objectStreamReset": "100", + "spark.executor.memory": "8g", + "spark.submit.deployMode": "client", + "spark.kubernetes.driver.volumes.hostPath.data.options.path": "/mnt/bigdata", + "spark.eventLog.enabled": "false", + "spark.kubernetes.container.image.pullPolicy": "Always", + "spark.kubernetes.submitInDriver": "true", + "spark.sql.warehouse.dir": "file:/opt/spark/work-dir/spark-warehouse", + "spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.app.submitTime": "1731965669258", + "spark.driver.blockManager.port": "7079", + "spark.driver.host": "tpcbench-py-630faa934132c6a0-driver-svc.default.svc", + "spark.executor.id": "driver", + "spark.kubernetes.driver.volumes.persistentVolumeClaim.benchmark-results-pv.mount.readOnly": "false", + "spark.driver.memory": "8G", + "spark.driver.port": "7078", + "spark.kubernetes.driver.volumes.hostPath.data.options.readOnly": "false", + "spark.kubernetes.resource.type": "python", + "spark.kubernetes.executor.volumes.hostPath.data.mount.path": "/mnt/bigdata", + "spark.executor.cores": "6", + "spark.kubernetes.driver.volumes.persistentVolumeClaim.benchmark-results-pv.mount.path": "/mnt/benchmark-results", + "spark.rdd.compress": "True", + "spark.kubernetes.executor.volumes.hostPath.data.options.path": "/mnt/bigdata", + "spark.executor.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.submit.pyFiles": "", + "spark.app.name": "spark benchmark derived from tpcds" + }, + "1": [ + 4.101798057556152, + 1.6628072261810303, + 1.6944208145141602, + 1.5850894451141357, + 1.6819756031036377 + ], + "2": [ + 2.505007743835449, + 1.4451699256896973, + 1.4508037567138672, + 1.4211256504058838, + 1.4528944492340088 + ], + "3": [ + 1.0310730934143066, + 0.78733229637146, + 0.8511149883270264, + 0.7833230495452881, + 0.8547565937042236 + ], + "4": [ + 30.011910915374756, + 29.12224292755127, + 28.913774251937866, + 28.686842441558838, + 29.61912488937378 + ], + "5": [ + 6.010044097900391, + 5.845148086547852, + 6.015597820281982, + 5.935771703720093, + 5.921597957611084 + ], + "6": [ + 1.7483971118927002, + 1.4204390048980713, + 1.3826384544372559, + 1.4277729988098145, + 1.426151990890503 + ], + "7": [ + 2.1159181594848633, + 1.8394184112548828, + 1.7851722240447998, + 1.9111988544464111, + 1.8159196376800537 + ], + "8": [ + 1.8837699890136719, + 1.8838860988616943, + 1.7019884586334229, + 1.7169978618621826, + 1.7927045822143555 + ], + "9": [ + 3.0422322750091553, + 2.8414883613586426, + 2.9845988750457764, + 2.8628768920898438, + 2.875807523727417 + ], + "10": [ + 1.9554328918457031, + 1.746701955795288, + 1.7458853721618652, + 1.6303400993347168, + 1.6505646705627441 + ], + "11": [ + 10.3078453540802, + 9.928950548171997, + 10.273672103881836, + 9.962933778762817, + 9.891152143478394 + ], + "12": [ + 1.1306350231170654, + 0.966578483581543, + 1.0629677772521973, + 0.9184162616729736, + 0.8431236743927002 + ], + "13": [ + 2.5771689414978027, + 2.2377328872680664, + 2.2578840255737305, + 2.2780606746673584, + 2.208707332611084 + ], + "14": [ + 31.266183137893677, + 29.093640327453613, + 29.287079572677612, + 29.792733430862427, + 29.16390872001648 + ], + "15": [ + 2.7301526069641113, + 2.42869234085083, + 2.4819107055664062, + 2.494722604751587, + 2.5909152030944824 + ], + "16": [ + 8.37593412399292, + 8.275684833526611, + 8.2781822681427, + 8.58998966217041, + 8.340266942977905 + ], + "17": [ + 3.3585970401763916, + 3.002685546875, + 2.973276138305664, + 2.8865857124328613, + 2.9933559894561768 + ], + "18": [ + 2.930973529815674, + 2.7753474712371826, + 2.721234083175659, + 2.608856678009033, + 2.630030870437622 + ], + "19": [ + 2.173407793045044, + 1.8570218086242676, + 1.9925012588500977, + 1.915762186050415, + 1.8977746963500977 + ], + "20": [ + 1.1954548358917236, + 0.9028189182281494, + 0.9437844753265381, + 0.8968183994293213, + 0.8379025459289551 + ], + "21": [ + 1.4207208156585693, + 1.4522266387939453, + 1.318542718887329, + 1.3398542404174805, + 1.2218236923217773 + ], + "22": [ + 14.03326940536499, + 14.454235315322876, + 13.709498643875122, + 14.177965641021729, + 13.597661256790161 + ], + "23": [ + 57.87645149230957, + 56.65002155303955, + 57.25854849815369, + 56.565542221069336, + 56.94704866409302 + ], + "24": [ + 12.221173524856567, + 10.913657665252686, + 10.763681888580322, + 12.460498809814453, + 10.905694246292114 + ], + "25": [ + 3.1492040157318115, + 2.946575880050659, + 2.888327121734619, + 3.002459764480591, + 3.161397933959961 + ], + "26": [ + 1.3824872970581055, + 1.3174099922180176, + 1.4262938499450684, + 1.411545991897583, + 1.3012707233428955 + ], + "27": [ + 1.6621944904327393, + 1.7461235523223877, + 1.6490883827209473, + 1.6821620464324951, + 1.668259859085083 + ], + "28": [ + 4.79725980758667, + 4.714123010635376, + 4.665875196456909, + 5.1792051792144775, + 4.8896565437316895 + ], + "29": [ + 4.536823749542236, + 4.077563047409058, + 4.396845817565918, + 4.073688268661499, + 4.367259502410889 + ], + "30": [ + 1.7702891826629639, + 1.8158881664276123, + 1.6796913146972656, + 1.9046649932861328, + 1.8696742057800293 + ], + "31": [ + 4.611050367355347, + 4.022041320800781, + 4.182346343994141, + 4.287677764892578, + 4.402425050735474 + ], + "32": [ + 1.1875083446502686, + 1.101001501083374, + 1.261136531829834, + 1.2711787223815918, + 1.1264948844909668 + ], + "33": [ + 1.9605779647827148, + 2.101670980453491, + 1.995006799697876, + 2.0540874004364014, + 1.9772546291351318 + ], + "34": [ + 1.1797206401824951, + 1.037219762802124, + 1.116685152053833, + 1.3116002082824707, + 1.1500279903411865 + ], + "35": [ + 2.6695785522460938, + 2.653355121612549, + 2.738192081451416, + 2.6304309368133545, + 2.7922165393829346 + ], + "36": [ + 1.4320690631866455, + 1.3371284008026123, + 1.399195909500122, + 1.3704102039337158, + 1.3641293048858643 + ], + "37": [ + 2.7905285358428955, + 2.6404833793640137, + 2.481349229812622, + 2.54872989654541, + 2.605477809906006 + ], + "38": [ + 3.9898948669433594, + 4.339789867401123, + 4.0293896198272705, + 3.894653081893921, + 4.017303943634033 + ], + "39": [ + 6.200651168823242, + 5.982529163360596, + 6.708714723587036, + 6.462383508682251, + 6.6200456619262695 + ], + "40": [ + 5.8705267906188965, + 6.351257085800171, + 6.25710129737854, + 6.0561816692352295, + 6.249178171157837 + ], + "41": [ + 0.24708271026611328, + 0.2163989543914795, + 0.21043944358825684, + 0.19862890243530273, + 0.20019888877868652 + ], + "42": [ + 0.878232479095459, + 0.8881511688232422, + 0.9662492275238037, + 0.925433874130249, + 0.9298341274261475 + ], + "43": [ + 0.9265544414520264, + 0.8833436965942383, + 0.9058196544647217, + 0.9031116962432861, + 0.8841662406921387 + ], + "44": [ + 0.5191357135772705, + 0.48758602142333984, + 0.5332913398742676, + 0.5114614963531494, + 0.4971604347229004 + ], + "45": [ + 1.7107188701629639, + 1.6529803276062012, + 1.6080644130706787, + 1.671886920928955, + 1.6790966987609863 + ], + "46": [ + 2.0748560428619385, + 1.9469430446624756, + 2.0227723121643066, + 2.011340379714966, + 1.9434280395507812 + ], + "47": [ + 3.5550601482391357, + 3.700406312942505, + 3.5939836502075195, + 3.6490423679351807, + 3.4499003887176514 + ], + "48": [ + 3.7200522422790527, + 3.7572500705718994, + 3.7702255249023438, + 3.7124366760253906, + 3.730222463607788 + ], + "49": [ + 5.228905200958252, + 4.625717878341675, + 4.951889276504517, + 4.957994222640991, + 5.071847438812256 + ], + "50": [ + 9.543980360031128, + 9.599350452423096, + 9.469555377960205, + 9.601779699325562, + 9.497092962265015 + ], + "51": [ + 11.083372354507446, + 9.904197931289673, + 10.511804342269897, + 10.427511930465698, + 11.04982876777649 + ], + "52": [ + 1.1101248264312744, + 1.0503735542297363, + 1.034118413925171, + 0.858811616897583, + 1.0684659481048584 + ], + "53": [ + 1.2383568286895752, + 1.2415111064910889, + 1.2688398361206055, + 1.2551381587982178, + 1.2679004669189453 + ], + "54": [ + 2.482556104660034, + 2.4029476642608643, + 2.4188714027404785, + 2.504854440689087, + 2.386593818664551 + ], + "55": [ + 1.0882360935211182, + 1.1614463329315186, + 1.0238258838653564, + 1.2537846565246582, + 1.060547113418579 + ], + "56": [ + 1.7780375480651855, + 1.8225603103637695, + 1.851440668106079, + 1.7312126159667969, + 1.8368158340454102 + ], + "57": [ + 2.49904203414917, + 2.4126837253570557, + 2.4750289916992188, + 2.433041572570801, + 2.3518331050872803 + ], + "58": [ + 2.17509388923645, + 2.3151907920837402, + 2.259735345840454, + 2.428464651107788, + 2.1495883464813232 + ], + "59": [ + 2.7380449771881104, + 2.754039764404297, + 2.6889383792877197, + 2.604966878890991, + 2.636704921722412 + ], + "60": [ + 1.7363862991333008, + 1.6587703227996826, + 1.5419552326202393, + 1.4795036315917969, + 1.6812565326690674 + ], + "61": [ + 2.4846465587615967, + 2.387451410293579, + 2.4108707904815674, + 2.388557195663452, + 2.3161416053771973 + ], + "62": [ + 0.8136637210845947, + 0.7371957302093506, + 0.7617106437683105, + 0.7683372497558594, + 0.7747564315795898 + ], + "63": [ + 1.1109309196472168, + 1.1343533992767334, + 1.2317695617675781, + 1.133389949798584, + 1.1092209815979004 + ], + "64": [ + 14.743201732635498, + 15.078812599182129, + 14.671916007995605, + 15.006304025650024, + 15.00887680053711 + ], + "65": [ + 7.251803636550903, + 7.2695631980896, + 7.238022804260254, + 7.301697254180908, + 7.161722421646118 + ], + "66": [ + 1.9731743335723877, + 1.9496684074401855, + 1.9994518756866455, + 1.8531701564788818, + 1.930753231048584 + ], + "67": [ + 49.6675705909729, + 48.19621968269348, + 50.70038366317749, + 47.88284492492676, + 48.761271715164185 + ], + "68": [ + 2.0306437015533447, + 1.9414896965026855, + 1.9469645023345947, + 1.9012255668640137, + 1.9914145469665527 + ], + "69": [ + 1.7471072673797607, + 1.536611795425415, + 1.6588964462280273, + 1.6081433296203613, + 1.6223390102386475 + ], + "70": [ + 1.945021629333496, + 1.8145639896392822, + 1.812164545059204, + 1.849292278289795, + 1.8018312454223633 + ], + "71": [ + 1.9524719715118408, + 1.9845960140228271, + 1.9457154273986816, + 1.923093557357788, + 1.951244592666626 + ], + "72": [ + 12.546458959579468, + 11.85893964767456, + 12.32059645652771, + 11.475525379180908, + 11.872873306274414 + ], + "73": [ + 1.0386018753051758, + 1.0372083187103271, + 1.0216479301452637, + 0.9761593341827393, + 0.933098316192627 + ], + "74": [ + 9.800452470779419, + 10.76702070236206, + 11.209776163101196, + 9.91211724281311, + 10.263824701309204 + ], + "75": [ + 8.530277013778687, + 8.607342958450317, + 8.445864200592041, + 8.522737741470337, + 8.499200582504272 + ], + "76": [ + 1.8576176166534424, + 2.0158095359802246, + 1.891855239868164, + 1.8044593334197998, + 1.8446557521820068 + ], + "77": [ + 2.266920566558838, + 2.314894676208496, + 2.4184823036193848, + 2.4789552688598633, + 2.355562925338745 + ], + "78": [ + 22.44752526283264, + 23.02877902984619, + 22.419431447982788, + 22.97319006919861, + 22.363235473632812 + ], + "79": [ + 1.6027934551239014, + 1.4661269187927246, + 1.4280049800872803, + 1.4568893909454346, + 1.4736254215240479 + ], + "80": [ + 16.729133129119873, + 16.709152698516846, + 16.817840099334717, + 17.630494117736816, + 17.207946300506592 + ], + "81": [ + 2.1778812408447266, + 2.3530967235565186, + 2.1917331218719482, + 2.0935323238372803, + 2.1222338676452637 + ], + "82": [ + 6.663294792175293, + 7.8879075050354, + 7.217211961746216, + 6.868515968322754, + 6.5749123096466064 + ], + "83": [ + 1.5960721969604492, + 1.5132818222045898, + 1.4365019798278809, + 1.44840407371521, + 1.477241039276123 + ], + "84": [ + 1.163783073425293, + 1.1479411125183105, + 1.1228821277618408, + 1.2401597499847412, + 1.1172442436218262 + ], + "85": [ + 3.2570650577545166, + 2.7596423625946045, + 3.081651449203491, + 3.0925028324127197, + 3.0603017807006836 + ], + "86": [ + 0.7725980281829834, + 0.7427737712860107, + 0.7912232875823975, + 0.7065935134887695, + 0.7383038997650146 + ], + "87": [ + 4.294668912887573, + 4.660226345062256, + 4.278197765350342, + 4.472849130630493, + 3.904066562652588 + ], + "88": [ + 3.554309606552124, + 3.6045660972595215, + 3.5492982864379883, + 3.3328254222869873, + 3.5090348720550537 + ], + "89": [ + 1.3484902381896973, + 1.276850700378418, + 1.3466012477874756, + 1.2572429180145264, + 1.4886093139648438 + ], + "90": [ + 0.46999287605285645, + 0.529099702835083, + 0.578873872756958, + 0.47667670249938965, + 0.48769092559814453 + ], + "91": [ + 0.7944860458374023, + 0.8916025161743164, + 0.832402229309082, + 0.7235825061798096, + 0.65761399269104 + ], + "92": [ + 0.9741818904876709, + 0.9964475631713867, + 0.992856502532959, + 0.9798798561096191, + 0.9271073341369629 + ], + "93": [ + 14.810303688049316, + 14.715499639511108, + 14.565584897994995, + 14.738952398300171, + 14.814255237579346 + ], + "94": [ + 5.665013790130615, + 5.276642084121704, + 5.49097204208374, + 5.194403886795044, + 5.2361180782318115 + ], + "95": [ + 13.44327449798584, + 13.04519772529602, + 13.047563791275024, + 13.274654865264893, + 13.301786184310913 + ], + "96": [ + 0.5319077968597412, + 0.5078849792480469, + 0.5532786846160889, + 0.49875950813293457, + 0.529167890548706 + ], + "97": [ + 7.3789963722229, + 7.497219800949097, + 7.451964855194092, + 7.59662938117981, + 7.404102802276611 + ], + "98": [ + 1.5613372325897217, + 1.698850154876709, + 1.6474971771240234, + 1.6323800086975098, + 1.5777685642242432 + ], + "99": [ + 1.1006407737731934, + 1.109886884689331, + 1.0147747993469238, + 2.1191627979278564, + 1.0859904289245605 + ] +} \ No newline at end of file diff --git a/docs/source/contributor-guide/benchmark-results/0.4.0/spark-tpch.json b/docs/source/contributor-guide/benchmark-results/0.4.0/spark-tpch.json new file mode 100644 index 000000000..f0a080aa9 --- /dev/null +++ b/docs/source/contributor-guide/benchmark-results/0.4.0/spark-tpch.json @@ -0,0 +1,203 @@ +{ + "engine": "datafusion-comet", + "benchmark": "tpch", + "data_path": "/mnt/bigdata/tpch/sf100/", + "query_path": "/tpch", + "spark_conf": { + "spark.kubernetes.executor.podNamePrefix": "spark-benchmark-derived-from-tpch-91eee2934092023f", + "spark.kubernetes.memoryOverheadFactor": "0.4", + "spark.kubernetes.authenticate.driver.serviceAccountName": "spark", + "spark.kubernetes.driver.volumes.hostPath.data.mount.path": "/mnt/bigdata", + "spark.kubernetes.driver.volumes.persistentVolumeClaim.benchmark-results-pv.options.claimName": "benchmark-results-pvc", + "spark.memory.offHeap.enabled": "true", + "spark.app.startTime": "1731955130576", + "spark.app.id": "spark-35db63a6dc9b42c79428c048244d508f", + "spark.master": "k8s://https://kube1:6443", + "spark.memory.offHeap.size": "48g", + "spark.kubernetes.driver.pod.name": "tpcbench-py-bca54a934091f6cd-driver", + "spark.kubernetes.executor.container.image": "apache/spark:3.4.2", + "spark.kubernetes.driver.container.image": "woody:5000/spark-tpcbench:spark", + "spark.executor.memory": "16G", + "spark.serializer.objectStreamReset": "100", + "spark.submit.deployMode": "client", + "spark.driver.host": "tpcbench-py-bca54a934091f6cd-driver-svc.default.svc", + "spark.kubernetes.driver.volumes.hostPath.data.options.path": "/mnt/bigdata", + "spark.eventLog.enabled": "false", + "spark.kubernetes.container.image.pullPolicy": "Always", + "spark.executor.cores": "8", + "spark.kubernetes.submitInDriver": "true", + "spark.sql.warehouse.dir": "file:/opt/spark/work-dir/spark-warehouse", + "spark.driver.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.driver.blockManager.port": "7079", + "spark.driver.bindAddress": "10.42.0.12", + "spark.executor.id": "driver", + "spark.kubernetes.driver.volumes.persistentVolumeClaim.benchmark-results-pv.mount.readOnly": "false", + "spark.driver.memory": "8G", + "spark.driver.port": "7078", + "spark.kubernetes.driver.volumes.hostPath.data.options.readOnly": "false", + "spark.kubernetes.resource.type": "python", + "spark.kubernetes.executor.volumes.hostPath.data.mount.path": "/mnt/bigdata", + "spark.kubernetes.driver.volumes.persistentVolumeClaim.benchmark-results-pv.mount.path": "/mnt/benchmark-results", + "spark.rdd.compress": "True", + "spark.app.name": "spark benchmark derived from tpch", + "spark.kubernetes.executor.volumes.hostPath.data.options.path": "/mnt/bigdata", + "spark.executor.extraJavaOptions": "-Djava.net.preferIPv6Addresses=false -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED -Djdk.reflect.useDirectMethodHandle=false", + "spark.executor.instances": "1", + "spark.app.submitTime": "1731955130325", + "spark.submit.pyFiles": "" + }, + "1": [ + 76.3459792137146, + 77.43206644058228, + 77.43688368797302, + 77.57843589782715, + 77.36109328269958 + ], + "2": [ + 11.60047721862793, + 12.094002485275269, + 11.385731935501099, + 11.742280006408691, + 10.831515073776245 + ], + "3": [ + 23.393443822860718, + 23.679790496826172, + 23.2339928150177, + 23.296000957489014, + 23.57963228225708 + ], + "4": [ + 17.686111450195312, + 17.663344860076904, + 17.97491693496704, + 17.99352526664734, + 17.13844132423401 + ], + "5": [ + 47.576931953430176, + 47.90366792678833, + 47.885528802871704, + 47.82782196998596, + 47.35511922836304 + ], + "6": [ + 3.1415493488311768, + 3.0869905948638916, + 3.0410678386688232, + 3.0086350440979004, + 3.006296157836914 + ], + "7": [ + 20.144665241241455, + 20.645880699157715, + 20.30326247215271, + 20.52312994003296, + 20.44648313522339 + ], + "8": [ + 31.149712800979614, + 31.346466541290283, + 31.87547278404236, + 31.968525409698486, + 31.624362230300903 + ], + "9": [ + 70.20270848274231, + 73.088698387146, + 71.15446996688843, + 70.36094760894775, + 71.0561454296112 + ], + "10": [ + 19.035035133361816, + 19.235825538635254, + 19.032540559768677, + 18.992990732192993, + 18.960989236831665 + ], + "11": [ + 12.353803873062134, + 12.383912324905396, + 12.390283346176147, + 12.384623289108276, + 12.608469009399414 + ], + "12": [ + 12.46756649017334, + 12.692992210388184, + 13.037216424942017, + 14.199844360351562, + 12.41795563697815 + ], + "13": [ + 21.14127492904663, + 21.24750590324402, + 21.330607652664185, + 21.19257688522339, + 21.117241144180298 + ], + "14": [ + 5.365051031112671, + 5.244381904602051, + 5.224266290664673, + 5.279320478439331, + 5.351390600204468 + ], + "15": [ + 14.187044382095337, + 14.210954904556274, + 14.301335096359253, + 14.133733034133911, + 14.062178373336792 + ], + "16": [ + 6.709480047225952, + 6.949545383453369, + 6.819269180297852, + 6.797849178314209, + 7.115732192993164 + ], + "17": [ + 59.576388120651245, + 60.451228857040405, + 60.65900158882141, + 60.63210201263428, + 60.68089413642883 + ], + "18": [ + 69.60278511047363, + 70.1350531578064, + 69.89858436584473, + 70.29715323448181, + 69.83147168159485 + ], + "19": [ + 6.37906551361084, + 6.309690952301025, + 6.3234429359436035, + 6.329152345657349, + 6.348209381103516 + ], + "20": [ + 9.532709121704102, + 9.26326322555542, + 9.232454776763916, + 9.317341089248657, + 9.209791898727417 + ], + "21": [ + 65.31082701683044, + 65.26856255531311, + 64.04693102836609, + 64.84621214866638, + 64.52755498886108 + ], + "22": [ + 8.907754182815552, + 8.766010046005249, + 8.830661535263062, + 8.698703527450562, + 8.652528524398804 + ] +} \ No newline at end of file diff --git a/docs/source/contributor-guide/benchmark-results/0.2.0/datafusion-python-tpch.json b/docs/source/contributor-guide/benchmark-results/datafusion-40.1.0/datafusion-python-tpch.json similarity index 100% rename from docs/source/contributor-guide/benchmark-results/0.2.0/datafusion-python-tpch.json rename to docs/source/contributor-guide/benchmark-results/datafusion-40.1.0/datafusion-python-tpch.json diff --git a/docs/source/contributor-guide/benchmark-results/tpc-ds.md b/docs/source/contributor-guide/benchmark-results/tpc-ds.md index 5575fef02..3fa70eb86 100644 --- a/docs/source/contributor-guide/benchmark-results/tpc-ds.md +++ b/docs/source/contributor-guide/benchmark-results/tpc-ds.md @@ -19,27 +19,27 @@ under the License. # Apache DataFusion Comet: Benchmarks Derived From TPC-DS -The following benchmarks were performed on a Linux workstation with PCIe 5, AMD 7950X CPU (16 cores), 128 GB RAM, and +The following benchmarks were performed on a two node Kubernetes cluster with data stored locally in Parquet format on NVMe storage. Performance characteristics will vary in different environments and we encourage you to run these benchmarks in your own environments. The tracking issue for improving TPC-DS performance is [#858](https://github.com/apache/datafusion-comet/issues/858). -![](../../_static/images/benchmark-results/0.3.0/tpcds_allqueries.png) +![](../../_static/images/benchmark-results/0.4.0/tpcds_allqueries.png) Here is a breakdown showing relative performance of Spark and Comet for each query. -![](../../_static/images/benchmark-results/0.3.0/tpcds_queries_compare.png) +![](../../_static/images/benchmark-results/0.4.0/tpcds_queries_compare.png) The following chart shows how much Comet currently accelerates each query from the benchmark in relative terms. -![](../../_static/images/benchmark-results/0.3.0/tpcds_queries_speedup_rel.png) +![](../../_static/images/benchmark-results/0.4.0/tpcds_queries_speedup_rel.png) The following chart shows how much Comet currently accelerates each query from the benchmark in absolute terms. -![](../../_static/images/benchmark-results/0.3.0/tpcds_queries_speedup_abs.png) +![](../../_static/images/benchmark-results/0.4.0/tpcds_queries_speedup_abs.png) The raw results of these benchmarks in JSON format is available here: -- [Spark](0.3.0/spark-tpcds.json) -- [Comet](0.3.0/comet-tpcds.json) +- [Spark](0.4.0/spark-tpcds.json) +- [Comet](0.4.0/comet-tpcds.json) diff --git a/docs/source/contributor-guide/benchmark-results/tpc-h.md b/docs/source/contributor-guide/benchmark-results/tpc-h.md index 22cab0b45..228548935 100644 --- a/docs/source/contributor-guide/benchmark-results/tpc-h.md +++ b/docs/source/contributor-guide/benchmark-results/tpc-h.md @@ -25,22 +25,21 @@ and we encourage you to run these benchmarks in your own environments. The tracking issue for improving TPC-H performance is [#391](https://github.com/apache/datafusion-comet/issues/391). -![](../../_static/images/benchmark-results/0.3.0/tpch_allqueries.png) +![](../../_static/images/benchmark-results/0.4.0/tpch_allqueries.png) Here is a breakdown showing relative performance of Spark, Comet, and DataFusion for each query. -![](../../_static/images/benchmark-results/0.3.0/tpch_queries_compare.png) +![](../../_static/images/benchmark-results/0.4.0/tpch_queries_compare.png) The following chart shows how much Comet currently accelerates each query from the benchmark in relative terms. -![](../../_static/images/benchmark-results/0.3.0/tpch_queries_speedup_rel.png) +![](../../_static/images/benchmark-results/0.4.0/tpch_queries_speedup_rel.png) The following chart shows how much Comet currently accelerates each query from the benchmark in absolute terms. -![](../../_static/images/benchmark-results/0.3.0/tpch_queries_speedup_abs.png) +![](../../_static/images/benchmark-results/0.4.0/tpch_queries_speedup_abs.png) The raw results of these benchmarks in JSON format is available here: -- [Spark](0.3.0/spark-tpch.json) -- [Comet](0.3.0/comet-tpch.json) -- [DataFusion](0.3.0/datafusion-python-tpch.json) \ No newline at end of file +- [Spark](0.4.0/spark-tpch.json) +- [Comet](0.4.0/comet-tpch.json) diff --git a/docs/source/contributor-guide/benchmarking.md b/docs/source/contributor-guide/benchmarking.md index 08aa10abc..bd280f47f 100644 --- a/docs/source/contributor-guide/benchmarking.md +++ b/docs/source/contributor-guide/benchmarking.md @@ -54,11 +54,11 @@ $SPARK_HOME/bin/spark-submit \ --master $SPARK_MASTER \ --conf spark.driver.memory=8G \ --conf spark.executor.instances=1 \ - --conf spark.executor.memory=32G \ + --conf spark.executor.memory=16G \ --conf spark.executor.cores=8 \ --conf spark.cores.max=8 \ --conf spark.memory.offHeap.enabled=true \ - --conf spark.memory.offHeap.size=10g \ + --conf spark.memory.offHeap.size=32g \ --jars $COMET_JAR \ --conf spark.driver.extraClassPath=$COMET_JAR \ --conf spark.executor.extraClassPath=$COMET_JAR \ diff --git a/docs/source/user-guide/installation.md b/docs/source/user-guide/installation.md index e2a946758..22d482e47 100644 --- a/docs/source/user-guide/installation.md +++ b/docs/source/user-guide/installation.md @@ -51,12 +51,12 @@ is currently necessary to build from source. Here are the direct links for downloading the Comet jar file. -- [Comet plugin for Spark 3.3 / Scala 2.12](https://repo1.maven.org/maven2/org/apache/datafusion/comet-spark-spark3.3_2.12/0.3.0/comet-spark-spark3.3_2.12-0.3.0.jar) -- [Comet plugin for Spark 3.3 / Scala 2.13](https://repo1.maven.org/maven2/org/apache/datafusion/comet-spark-spark3.3_2.13/0.3.0/comet-spark-spark3.3_2.13-0.3.0.jar) -- [Comet plugin for Spark 3.4 / Scala 2.12](https://repo1.maven.org/maven2/org/apache/datafusion/comet-spark-spark3.4_2.12/0.3.0/comet-spark-spark3.4_2.12-0.3.0.jar) -- [Comet plugin for Spark 3.4 / Scala 2.13](https://repo1.maven.org/maven2/org/apache/datafusion/comet-spark-spark3.4_2.13/0.3.0/comet-spark-spark3.4_2.13-0.3.0.jar) -- [Comet plugin for Spark 3.5 / Scala 2.12](https://repo1.maven.org/maven2/org/apache/datafusion/comet-spark-spark3.5_2.12/0.3.0/comet-spark-spark3.5_2.12-0.3.0.jar) -- [Comet plugin for Spark 3.5 / Scala 2.13](https://repo1.maven.org/maven2/org/apache/datafusion/comet-spark-spark3.5_2.13/0.3.0/comet-spark-spark3.5_2.13-0.3.0.jar) +- [Comet plugin for Spark 3.3 / Scala 2.12](https://repo1.maven.org/maven2/org/apache/datafusion/comet-spark-spark3.3_2.12/0.4.0/comet-spark-spark3.3_2.12-0.4.0.jar) +- [Comet plugin for Spark 3.3 / Scala 2.13](https://repo1.maven.org/maven2/org/apache/datafusion/comet-spark-spark3.3_2.13/0.4.0/comet-spark-spark3.3_2.13-0.4.0.jar) +- [Comet plugin for Spark 3.4 / Scala 2.12](https://repo1.maven.org/maven2/org/apache/datafusion/comet-spark-spark3.4_2.12/0.4.0/comet-spark-spark3.4_2.12-0.4.0.jar) +- [Comet plugin for Spark 3.4 / Scala 2.13](https://repo1.maven.org/maven2/org/apache/datafusion/comet-spark-spark3.4_2.13/0.4.0/comet-spark-spark3.4_2.13-0.4.0.jar) +- [Comet plugin for Spark 3.5 / Scala 2.12](https://repo1.maven.org/maven2/org/apache/datafusion/comet-spark-spark3.5_2.12/0.4.0/comet-spark-spark3.5_2.12-0.4.0.jar) +- [Comet plugin for Spark 3.5 / Scala 2.13](https://repo1.maven.org/maven2/org/apache/datafusion/comet-spark-spark3.5_2.13/0.4.0/comet-spark-spark3.5_2.13-0.4.0.jar) ## Building from source