{ "cells": [ { "cell_type": "markdown", "id": "c97f8c4d", "metadata": {}, "source": [ "# Histogram of the Dimuon Mass Spectrum\n", "\n", "This implements the dimuon mass spectrum analysis, a \"Hello World!\" example for data analysis in High Energy Physics. It is intended as a technology demonstrator for the use Apache Spark for High Energy Physics.\n", "\n", "The workload and data:\n", " - The input data is a series of candidate muon events. \n", " - The job output is a histogram of the dimuon mass spectrum, where several peaks (resonances) can be identified corresponding to well-know particles (e.g. the Z boson at 91 Gev).\n", " - The computation is based on https://root.cern.ch/doc/master/df102__NanoAODDimuonAnalysis_8C.html and CERN open data from the CMS collaboration linked there. \n", " - See also https://github.com/LucaCanali/Miscellaneous/Spark_Physics\n", " \n", "Author and contact: Luca.Canali@cern.ch \n", "January, 2022" ] }, { "cell_type": "markdown", "id": "22d54a3d", "metadata": {}, "source": [ "## Dimuon mass spectrum calculation with Spark DataFrame API" ] }, { "cell_type": "code", "execution_count": null, "id": "be0c7ca3", "metadata": {}, "outputs": [], "source": [ "#\n", "# Local mode: run this when using CERN SWAN not connected to a cluster \n", "# or run it on a private Jupyter notebook instance\n", "# Dependency: PySpark (use SWAN or pip install pyspark)\n", "#\n", "# For CERN users: when using CERN SWAN connected to a cluster (analytix or cloud resources)\n", "# do not run this but rather click on the (star) button\n", "\n", "# Start the Spark Session\n", "from pyspark.sql import SparkSession\n", "spark = (SparkSession.builder\n", " .appName(\"dimuon mass\")\n", " .master(\"local[*]\")\n", " .config(\"spark.driver.memory\", \"2g\")\n", " .config(\"spark.sql.parquet.enableNestedColumnVectorizedReader\", \"true\")\n", " .config(\"spark.ui.showConsoleProgress\", \"false\")\n", " .getOrCreate()\n", " )" ] }, { "cell_type": "code", "execution_count": 2, "id": "cabed284", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "

SparkSession - in-memory

\n", " \n", "
\n", "

SparkContext

\n", "\n", "

Spark UI

\n", "\n", "
\n", "
Version
\n", "
v3.3.1
\n", "
Master
\n", "
local[*]
\n", "
AppName
\n", "
dimuon mass
\n", "
\n", "
\n", " \n", "
\n", " " ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "spark" ] }, { "cell_type": "code", "execution_count": 3, "id": "ab108ade", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "root\n", " |-- nMuon: long (nullable = true)\n", " |-- Muon_pt: array (nullable = true)\n", " | |-- element: float (containsNull = true)\n", " |-- Muon_eta: array (nullable = true)\n", " | |-- element: float (containsNull = true)\n", " |-- Muon_phi: array (nullable = true)\n", " | |-- element: float (containsNull = true)\n", " |-- Muon_mass: array (nullable = true)\n", " | |-- element: float (containsNull = true)\n", " |-- Muon_charge: array (nullable = true)\n", " | |-- element: integer (containsNull = true)\n", "\n", "Number of events: 61540413\n" ] } ], "source": [ "# Read data with the muon candidate events\n", "# Further details of the available datasets at\n", "# https://github.com/LucaCanali/Miscellaneous/Spark_Physics\n", "\n", "# If you don't have access to CERN resources\n", "# Download the data (2 GB) if not yet available locally\n", "# ! wget https://sparkdltrigger.web.cern.ch/sparkdltrigger/Run2012BC_DoubleMuParked_Muons.parquet\n", "\n", "# Use this path to data when running from SWAN and/or CERN machines with eos mounted\n", "# this will work on CERN Swan when not connected to Spark cluster\n", "path = \"/eos/project/s/sparkdltrigger/public/\"\n", "\n", "# Use this when attached to the analytix Spark cluster at CERN\n", "# path = \"hdfs://analytix//project/spark/HEP/\"\n", "\n", "# Use this with the Hadoop XRootD connector reading from EOS\n", "# it is configured when using the cluster \"Spark on K8S\" at CERN\n", "# path = \"root://eosuser.cern.ch//eos/project/s/sparkdltrigger/public/\"\n", "\n", "data = \"Run2012BC_DoubleMuParked_Muons.parquet\"\n", "\n", "df_muons = spark.read.parquet(path + data)\n", "\n", "df_muons.printSchema()\n", "print(f\"Number of events: {df_muons.count()}\")" ] }, { "cell_type": "code", "execution_count": 4, "id": "7d7908bb", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nMuonMuon_ptMuon_etaMuon_phiMuon_massMuon_charge
02[10.763696670532227, 15.736522674560547][1.0668272972106934, -0.563786506652832][-0.03427272289991379, 2.5426154136657715][0.10565836727619171, 0.10565836727619171][-1, -1]
12[10.538490295410156, 16.327096939086914][-0.42778006196022034, 0.34922507405281067][-0.2747921049594879, 2.539781332015991][0.10565836727619171, 0.10565836727619171][1, -1]
21[3.2753264904022217][2.210855484008789][-1.2234135866165161][0.10565836727619171][1]
34[11.429154396057129, 17.634033203125, 9.624728...[-1.5882395505905151, -1.7511844635009766, -1....[-2.0773041248321533, 0.25135836005210876, -2....[0.10565836727619171, 0.10565836727619171, 0.1...[1, 1, 1, 1]
44[3.2834417819976807, 3.64400577545166, 32.9112...[-2.1724836826324463, -2.18253493309021, -1.12...[-2.3700082302093506, -2.3051390647888184, -0....[0.10565836727619171, 0.10565836727619171, 0.1...[-1, -1, 1, 1]
53[3.566528081893921, 4.572504043579102, 4.37186...[-1.371932029724121, -0.703264594078064, -1.03...[-2.9090449810028076, 2.4552080631256104, -3.0...[0.10565836727619171, 0.10565836727619171, 0.1...[-1, 1, -1]
62[57.6067008972168, 53.04507827758789][-0.5320892930030823, -1.0041686296463013][-0.07179804146289825, 3.089515209197998][0.10565836727619171, 0.10565836727619171][-1, 1]
72[11.31967544555664, 23.906352996826172][-0.7716585397720337, -0.700996994972229][-2.2452728748321533, -2.1809616088867188][0.10565836727619171, 0.10565836727619171][1, -1]
82[10.19356918334961, 14.204060554504395][0.4418068528175354, 0.7021172642707825][0.6778520345687866, -2.0344009399414062][0.10565836727619171, 0.10565836727619171][-1, 1]
92[11.470704078674316, 3.4690065383911133][2.3417420387268066, 2.3523731231689453][3.1309704780578613, 3.0211737155914307][0.10565836727619171, 0.10565836727619171][-1, 1]
\n", "
" ], "text/plain": [ " nMuon Muon_pt \\\n", "0 2 [10.763696670532227, 15.736522674560547] \n", "1 2 [10.538490295410156, 16.327096939086914] \n", "2 1 [3.2753264904022217] \n", "3 4 [11.429154396057129, 17.634033203125, 9.624728... \n", "4 4 [3.2834417819976807, 3.64400577545166, 32.9112... \n", "5 3 [3.566528081893921, 4.572504043579102, 4.37186... \n", "6 2 [57.6067008972168, 53.04507827758789] \n", "7 2 [11.31967544555664, 23.906352996826172] \n", "8 2 [10.19356918334961, 14.204060554504395] \n", "9 2 [11.470704078674316, 3.4690065383911133] \n", "\n", " Muon_eta \\\n", "0 [1.0668272972106934, -0.563786506652832] \n", "1 [-0.42778006196022034, 0.34922507405281067] \n", "2 [2.210855484008789] \n", "3 [-1.5882395505905151, -1.7511844635009766, -1.... \n", "4 [-2.1724836826324463, -2.18253493309021, -1.12... \n", "5 [-1.371932029724121, -0.703264594078064, -1.03... \n", "6 [-0.5320892930030823, -1.0041686296463013] \n", "7 [-0.7716585397720337, -0.700996994972229] \n", "8 [0.4418068528175354, 0.7021172642707825] \n", "9 [2.3417420387268066, 2.3523731231689453] \n", "\n", " Muon_phi \\\n", "0 [-0.03427272289991379, 2.5426154136657715] \n", "1 [-0.2747921049594879, 2.539781332015991] \n", "2 [-1.2234135866165161] \n", "3 [-2.0773041248321533, 0.25135836005210876, -2.... \n", "4 [-2.3700082302093506, -2.3051390647888184, -0.... \n", "5 [-2.9090449810028076, 2.4552080631256104, -3.0... \n", "6 [-0.07179804146289825, 3.089515209197998] \n", "7 [-2.2452728748321533, -2.1809616088867188] \n", "8 [0.6778520345687866, -2.0344009399414062] \n", "9 [3.1309704780578613, 3.0211737155914307] \n", "\n", " Muon_mass Muon_charge \n", "0 [0.10565836727619171, 0.10565836727619171] [-1, -1] \n", "1 [0.10565836727619171, 0.10565836727619171] [1, -1] \n", "2 [0.10565836727619171] [1] \n", "3 [0.10565836727619171, 0.10565836727619171, 0.1... [1, 1, 1, 1] \n", "4 [0.10565836727619171, 0.10565836727619171, 0.1... [-1, -1, 1, 1] \n", "5 [0.10565836727619171, 0.10565836727619171, 0.1... [-1, 1, -1] \n", "6 [0.10565836727619171, 0.10565836727619171] [-1, 1] \n", "7 [0.10565836727619171, 0.10565836727619171] [1, -1] \n", "8 [0.10565836727619171, 0.10565836727619171] [-1, 1] \n", "9 [0.10565836727619171, 0.10565836727619171] [-1, 1] " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_muons.limit(10).toPandas()" ] }, { "cell_type": "code", "execution_count": 5, "id": "e481cb25", "metadata": {}, "outputs": [], "source": [ "# Apply filters to the input data\n", "# - select only events with 2 muons\n", "# - select only events where the 2 muons have opposite charge\n", "\n", "df_muons = df_muons.filter(\"nMuon == 2\").filter(\"Muon_charge[0] != Muon_charge[1]\")\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "1755d9e8", "metadata": {}, "outputs": [], "source": [ "# This computes the 4-vectors sum for the 2 moun system\n", "# using formulas from special relativity, in the limit E >> muons rest mass\n", "# see also http://edu.itp.phys.ethz.ch/hs10/ppp1/2010_11_02.pdf\n", "# and https://en.wikipedia.org/wiki/Invariant_mass\n", "\n", "df_with_dimuonmass = df_muons.selectExpr(\"\"\"\n", " sqrt(2 * Muon_pt[0] * Muon_pt[1] * \n", " ( cosh(Muon_eta[0] - Muon_eta[1]) - cos(Muon_phi[0] - Muon_phi[1]) )\n", " ) as Dimuon_mass\"\"\")" ] }, { "cell_type": "code", "execution_count": 7, "id": "d8b7e337", "metadata": {}, "outputs": [], "source": [ "# Compute the histogram of dimuon mass values\n", "# The Spark function \"width_bucket\" is used to generate the histogram bucket number\n", "# a groupBy operation with count is used to fill the histogram\n", "# The result is a histogram with bins value and counts foreach bin (N_events)\n", "\n", "min_val = 0.25\n", "max_val = 300\n", "num_bins = 30000\n", "step = (max_val - min_val) / num_bins\n", "\n", "histogram_data = ( \n", " df_with_dimuonmass\n", " .selectExpr(f\"width_bucket(Dimuon_mass, {min_val}, {max_val}, {num_bins}) as bucket\") \n", " .groupBy(\"bucket\")\n", " .count()\n", " .orderBy(\"bucket\")\n", " )\n", "\n", "# convert bucket number to the corresponding dimoun mass value\n", "histogram_data = histogram_data.selectExpr(f\"round({min_val} + (bucket - 1) * {step},2) as value\", \"count as N_events\")" ] }, { "cell_type": "code", "execution_count": null, "id": "703b649a", "metadata": {}, "outputs": [], "source": [ "# The action toPandas() here triggers the computation.\n", "# Histogram data is fetched into the driver as a Pandas Dataframe.\n", "\n", "%time histogram_data_pandas=histogram_data.toPandas()\n" ] }, { "cell_type": "code", "execution_count": 9, "id": "927ff9c0", "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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lmoeJllElaTwl7W1u90PCg4Oxocffog5c+bg+PHjOH78OADjxV7Pnj0xatQotGjR4qFiKk+xCGu8vb1LHDoTEBCA5ORkp1ls1FQUpLREtU6dOrh79665/YOsTTAHYO7R0Ol05YrL9PMpKS7TvoyMDAiC4LA1dcr72k29CFqt1lygoyT2rOhVuHfiwSIfpTElkdaYkhx/f/8S95f3fVGSsrxnCg+9svYZLO53CVT8vWxNREQE/Pz8EB0djTt37piHCpqGZJUmOjoar776qkUlPA8PD3OMpuItD1bKGzZsGE6ePInff/8dmzdvxubNmyEWixEWFoa+ffvi2Weftfi9SiQSfPXVV5g0aRISEhIwb948zJs3D97e3ujSpQuGDh2Kfv36VeizJxKJ0LlzZ3OypNfrzWsnbtq0CdnZ2XjrrbcQGRlpNbEp6fdseg2Ff8emz51ery/3587UvvBwSVvz9va2S6GLwvz8/Ir9XZX2mTXFZsvPLNU8TLKIKomplG+dOnXKXHnuqaeeQp8+fbBt2zYcPXoUJ06cQGJiItauXYvff/8db731lnlYXkWUVlL4YTnLXKwHlVby2FGcNa6HYeptGDhwoHmeh6MULtddXA9OVVPSe8ZZFreVSCR48sknsXLlSqxfvx47duyAVCo1z38siVarxX//+1+oVCp0794dkyZNQuvWrS2q+61fvx4zZ860evzHH3+MsWPH4p9//sGxY8dw9uxZxMTEICYmBitXrsSiRYsselhbt26Nf//9F//++y8OHjyIEydOICEhATt27MCOHTvQq1cvfPfddw/93SmRSNChQwd06NABDRo0wLfffovk5GQcOHCg2GG15WH67m3RooW5tHp5j7Une//tIXIGnJNFVAny8/PN6y8VNxykOH5+fnjxxRexZMkSHDlyBOvXr8fAgQPNRRwcOd8pIyOjxIs8091UU3EJAObJ5wDMZYUf9OCaULZi6rkrbUhaUlKSRXt7M/18bt++XWwbUwlob29vp7l4LgvTsBtTGW1HMq0rJ5VKER4e7uBo7l9oFvc5AIr/LJTlPVP4fV74M+gIpl6r5cuXIzs7GxEREeZhlCU5ffo0kpKS4O3tjSVLlqBjx45FyqenpqaWeI6mTZvizTffxOrVq3Hs2DF89913CA0NhUqlwrRp04oUIlIoFBgyZAg+//xz87IOr776KkQi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fd0XFxersrJSLVq0cPZPgRtRsoCLtGTJEmVkZCg4OFht27bV/v3769w+KytL48ePV15enuLj4xUTE6MdO3Zo+fLlSk5O1sqVKxUeHi5Jys/PV0VFhVq3bm13jFatWmnTpk0u+00A6ubK6x6AZ3L3df/CCy+oS5cu6t27t7N/CtyIkgVcpFmzZqlt27aKiopSamqqJk+eXOf2c+bMUV5enmbPnq1JkybZls+bN09Lly7VggUL9Pzzz9vtYzKZqh2npmUA3MMd1z0Az+LO637evHn6/vvvtXLlSpnNZqf+DrgXE18AF2nAgAGKjo52qPQcOnRIKSkpioyM1MSJE+3WTZ8+XcHBwVq7dq1KSkokSeHh4TKbzcrNzbXbNi8vr9roFgD3ceV1D8Azueu6f/HFF/X5559r2bJlat++vdPywxiULMANtmzZIkkaMmSI/PzsL7uQkBD16dNHp0+fVnp6uiQpMDBQXbt2rXZr4KZNm7h9APASDb3uAXi/i73u586dq88++0zLli1TbGys2/LCdShZgBtU3b8dHR1d4/qoqChJUmZmpm3Zfffdp08//VQff/yx9u3bp7lz5+r48eMaP368y/MCuHQXc90XFxfLYrHIYrGosrJS2dnZslgsvLoB8BIXc93PmTNHq1ev1vz589WiRQvl5uYqNzdXxcXFLs8L1+GZLMANioqKJEnNmzevcX3V8sLCQtuyW265Rfn5+VqyZImOHz+uzp07680331RkZKTrAwO4ZBdz3e/atcvueY/ExEQlJiZq9OjReumll1yYFoAzXMx1//7770uS7r33XrttExISNH36dBekhDtQsgAPUPW6ugvv9544cWK1e7oBNA41Xff9+/fX3r17jYoEwMVquu655hsnbhcE3CAkJESS/X+5Ol/Vf/mq2g6A9+O6B3wP1z2qULIAN4iJiZEkHThwoMb1Bw8elCR17NjRXZEAuBjXPeB7uO5RhZIFuEH//v0lSSkpKaqsrLRbV1RUpO3btysoKEg9e/Y0Ih4AF+C6B3wP1z2qULIAN+jQoYOGDBmiI0eOaMWKFXbrEhMTVVJSolGjRik4ONighACcjese8D1c96hislY9gQegQZKSkpSUlCRJys3NVUpKitq3b6++fftKOvdC4ZkzZ9q2z8rK0vjx45WXl6f4+HjFxsYqPT1dW7duVXR0tD744AOFh4cb8lsAOIbrHvA9XPe4GJQs4CIlJiZq8eLFta6PjIzU+vXr7ZYdPXpUixYtUnJysgoKChQREaH4+HglJCQoLCzMxYkBXCque8D3cN3jYlCyAAAAAMCJeCYLAAAAAJyIkgUAAAAATkTJAgAAAAAnomQBAAAAgBNRsgAAAADAiShZAAAAAOBElCwAAAAAcCJKFgAAAAA4ESULAAAAAJyIkgUAAAAATkTJAgDADZ588kkNHDhQJSUlRkdpkF27dikuLk4ff/yx0VEAwGtQsgAAcLGdO3dq7dq1evDBBxUcHFxtfWZmpubNm6fRo0erX79+6tq1q/r166dx48bp5Zdf1q5duy7p/DNmzFBcXJzef//9ere97777FBcXp6SkJElSt27ddPPNN2vhwoUqLi6+pBwA4CsoWQAAuNiCBQsUEhKiCRMm2C23Wq1avHixbrnlFi1dulQmk0m/+93v9MADD2jkyJEKCgrSu+++q7Fjx2rFihUXff4777xTkuodjTp8+LA2b96siIgI3XjjjbblDz30kHJzc/Xuu+9edAYA8CX+RgcAAKAxy8zM1KZNmzRu3DgFBQXZrXv99deVmJioyy+/XPPnz9c111xTbf+8vDwtW7ZMhYWFF52hf//+io6O1p49e7R792517dq1xu0++eQTWa1WjR07Vv7+//1XhB49eigmJkYffvihpkyZIrPZfNFZAMAXMJIFAKjXli1bFBcXp5dfflm7d+/WI488on79+umaa67RtGnTlJubK0n65ZdfNGPGDA0cOFDXXHONHnroIWVnZxuc3lirVq2S1WrVLbfcYrf80KFDWrJkiQICAvT3v/+9xoIlSa1atdLjjz+uBx54oMb16enpevTRRzV48GB169ZNN9xwg/7nf/5Hx44ds9uuajTro48+qvE4FRUVWr16tUwmk+64445q62+99VZlZ2dr06ZN9f5mAPB1lCwAQL327Nkj6dyozN133y2z2ayxY8eqXbt2SkpK0tNPP63169dr3LhxKi4u1u23367o6Gh99913mjlzpsHpjbVp0yaZzWb17NnTbvmqVatUXl6u4cOHq1OnTvUe5/yRpfOPMWHCBG3YsEH9+/fX5MmT1a1bN3388ccaO3asXcEdPXq0AgIC9Nlnn+n06dPVjrVhwwYdO3ZMgwYNUvv27aut79Onj+33AADqxu2CAIB67d69W9K5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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt \n", "plt.style.use('seaborn-darkgrid')\n", "plt.rcParams.update({'font.size': 20, 'figure.figsize': [14,10]})\n", "\n", "f, ax = plt.subplots()\n", "\n", "# cut the first and last bin\n", "x = histogram_data_pandas.iloc[1:-1][\"value\"]\n", "y = histogram_data_pandas.iloc[1:-1][\"N_events\"]\n", "\n", "# line plot\n", "ax.plot(x, y, '-')\n", "\n", "# the plot is in log-log axis to better show the peaks\n", "ax.set_xscale(\"log\")\n", "ax.set_yscale(\"log\")\n", "ax.set_xlim(min_val, max_val)\n", "#ax.set_ylim(1, 6e5)\n", "\n", "ax.set_xlabel('$m_{dimuon}$ (GeV)')\n", "ax.set_ylabel('Number of Events')\n", "ax.set_title(\"Distribution of the Dimuon Mass Spectrum\")\n", "\n", "# Label for the resonances spectrum peaks\n", "txt_opts = {'horizontalalignment': 'center',\n", " 'verticalalignment': 'center',\n", " 'transform': ax.transAxes}\n", "\n", "plt.text(0.85, 0.75, 'Z', **txt_opts)\n", "plt.text(0.55, 0.77, r\"$\\Upsilon$(1,2,3S)\", **txt_opts)\n", "plt.text(0.37, 0.95, r\"J/$\\Psi$\", **txt_opts)\n", "plt.text(0.40, 0.77, r\"$\\Psi$'\", **txt_opts)\n", "plt.text(0.22, 0.80, r\"$\\phi$\", **txt_opts)\n", "plt.text(0.16, 0.83, r\"$\\rho,\\omega$\", **txt_opts)\n", "plt.text(0.11, 0.78, r\"$\\eta$\", **txt_opts);\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "id": "055c2a6f", "metadata": {}, "outputs": [], "source": [ "spark.stop()" ] }, { "cell_type": "code", "execution_count": null, "id": "4a5dcd3a", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" }, "sparkconnect": { "bundled_options": [ "ComputeIntensive" ], "list_of_options": [ { "name": "spark.ui.showConsoleProgress", "value": "false" }, { "name": "spark.sql.parquet.enableNestedColumnVectorizedReader", "value": "true" } ] } }, "nbformat": 4, "nbformat_minor": 5 }