diff --git a/data-analytics/data-dash/data_dash.ipynb b/data-analytics/data-dash/data_dash.ipynb index ac7794d..ec45069 100644 --- a/data-analytics/data-dash/data_dash.ipynb +++ b/data-analytics/data-dash/data_dash.ipynb @@ -1,7 +1,22 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "### For demoing, you can set the following values and then delete this cell\n", + "import os\n", + "os.environ[\"BIGTABLE_PROJECT_ID\"] = \"PROJECT_ID\"\n", + "os.environ[\"BIGTABLE_INSTANCE_ID\"] = \"INSTANCE_ID\"\n", + "os.environ[\"BIGTABLE_TABLE_ID\"] = \"TABLE_ID\"\n", + "os.environ[\"GOOGLE_API_KEY\"] = \"API_KEY\"" + ] + }, { "cell_type": "markdown", + "metadata": {}, "source": [ "# Data Dash\n", "\n", @@ -10,29 +25,40 @@ "## Connect to Bigtable and Spark\n", "\n", "First, we create our Spark connection and include the Bigtable Spark connector jar." - ], - "metadata": { - "collapsed": false - } + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Setting default log level to \"WARN\".\n", + "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n", + "24/06/25 00:25:58 INFO SparkEnv: Registering MapOutputTracker\n", + "24/06/25 00:25:58 INFO SparkEnv: Registering BlockManagerMaster\n", + "24/06/25 00:25:58 INFO SparkEnv: Registering BlockManagerMasterHeartbeat\n", + "24/06/25 00:25:58 INFO SparkEnv: Registering OutputCommitCoordinator\n" + ] + } + ], "source": [ "from pyspark.sql import SparkSession\n", + "from pyspark.sql.functions import col\n", "import os\n", "\n", "spark = (SparkSession.builder\n", - " .config('spark.jars', \"gs://spark-bigtable-preview/jars/spark-bigtable-0.0.1-preview4-SNAPSHOT.jar\")\n", + " .config('spark.jars', \"gs://spark-lib/bigtable/spark-bigtable_2.12-0.1.1.jar\")\n", " .getOrCreate())\n", "\n", "bigtable_project_id = os.environ[\"BIGTABLE_PROJECT_ID\"]\n", "bigtable_instance_id = os.environ[\"BIGTABLE_INSTANCE_ID\"]\n", - "bigtable_table_name=\"data_dash_test\"\n", + "bigtable_table_name = os.environ[\"BIGTABLE_TABLE_ID\"]\n", "\n", "# Manually indicating columns from Bigtable for Spark dataframe.\n", "catalog = ''.join((\"\"\"{\n", @@ -75,14 +101,61 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": { "pycharm": { "is_executing": true }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading the DataFrame from Bigtable:\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+------------------+------------------+------------------+------------------+------------------+------------------+------------+------------------+------------------+------------------+------------------+------------------+------------------+------------------+--------------------+------------------+------------------+------------------+------------------+------------------+\n", + "| Checkpoint_6_end| Checkpoint_7| Checkpoint_1| Checkpoint_4| Checkpoint_3_end| Checkpoint_7_end| Car_ID| Checkpoint_3| Checkpoint_6| Checkpoint_4_end| Start| Checkpoint_8_end| End| Checkpoint_8| _rowkey| Checkpoint_1_end| Checkpoint_2| Checkpoint_5| Checkpoint_5_end| Checkpoint_2_end|\n", + "+------------------+------------------+------------------+------------------+------------------+------------------+------------+------------------+------------------+------------------+------------------+------------------+------------------+------------------+--------------------+------------------+------------------+------------------+------------------+------------------+\n", + "|1719271016.7723942| 1719271017.483894|1719271011.4913943|1719271014.5638943| 1719271013.927894| 1719271017.737894|584613083274| 1719271013.628894|1719271016.5063941|1719271014.8223941|1719271011.4913943| 1719271018.671894| 1719271018.671894| 1719271018.421394|track1#8280728985...|1719271011.7848942|1719271012.5513942|1719271015.4588943|1719271015.7498941|1719271012.8118942|\n", + "|1719271017.8537977|1719271018.5132978|1719271012.5407977|1719271015.5532978|1719271014.9572976|1719271018.8102977|584613083274|1719271014.6607976|1719271017.5682976|1719271015.8227978|1719271012.5407977|1719271019.8812976|1719271019.8812976|1719271019.6207976|track1#8280728986...|1719271012.8017976|1719271013.4582977|1719271016.5807977|1719271016.8777976|1719271013.7422976|\n", + "|1719271014.7379296|1719271015.3959296|1719271009.4959297|1719271012.4884295|1719271011.8049295|1719271015.6719296|584613543557|1719271011.5434296|1719271014.4684296|1719271012.7524295|1719271009.4959297|1719271016.7409296|1719271016.7409296|1719271016.4509296|track1#8280728986...|1719271009.7599297|1719271010.4434297|1719271013.5434296|1719271013.8339295|1719271010.7109296|\n", + "| 1719271018.839781|1719271019.5777812| 1719271013.642781| 1719271016.610281| 1719271015.886281|1719271019.8567812|584613543557| 1719271015.600281|1719271018.5777812| 1719271016.897781| 1719271013.642781| 1719271020.803781| 1719271020.803781| 1719271020.530281|track1#8280728986...| 1719271013.916781| 1719271014.677781| 1719271017.642781| 1719271017.930781| 1719271014.932781|\n", + "|1719271015.8769255|1719271016.6379254|1719271010.4429255|1719271013.6179254|1719271012.7714252|1719271016.9274254|584613543557|1719271012.5104253|1719271015.6004255|1719271013.8854253|1719271010.4429255|1719271017.7064254|1719271017.7064254|1719271017.4204254|track1#8280728987...|1719271010.7334254|1719271011.6504254|1719271014.4879255|1719271014.7579255|1719271011.9334254|\n", + "|1719271013.7506866|1719271014.3951867|1719271008.5376866|1719271011.4801867|1719271010.6841865|1719271014.6666865|584613083274|1719271010.4326866|1719271013.4701867|1719271011.7451866|1719271008.5376866|1719271015.8016865|1719271015.8016865|1719271015.5376866|track1#8280728987...|1719271008.8031867|1719271009.3926866|1719271012.4501867|1719271012.7256868|1719271009.6456866|\n", + "|1719271010.7965584|1719271011.3805583|1719271005.4780583|1719271008.4380584|1719271007.6565583|1719271011.6450582|584613543557|1719271007.3705583|1719271010.5405583|1719271008.7250583|1719271005.4780583|1719271012.6800582|1719271012.6800582|1719271012.4180584|track1#8280728990...|1719271005.7585583|1719271006.3555584|1719271009.4630585|1719271009.7380583|1719271006.6475585|\n", + "|1719271012.8496914|1719271013.5401914|1719271007.5676913|1719271010.4601915|1719271009.6691914|1719271013.8156915|584613083274|1719271009.4126914|1719271012.5526915|1719271010.7421916|1719271007.5676913|1719271014.8526914|1719271014.8526914|1719271014.5651915|track1#8280728990...|1719271007.8596914|1719271008.5576913|1719271011.3951914|1719271011.6616914|1719271008.8241913|\n", + "|1719271008.6795144|1719271009.4605143|1719271003.3305144|1719271006.4455144|1719271005.7960143|1719271009.7120142|584613543557|1719271005.5355144|1719271008.4205143|1719271006.7155144|1719271003.3305144|1719271010.8060143|1719271010.8060143|1719271010.5455143|track1#8280728991...|1719271003.6275144|1719271004.4505143|1719271007.3305144|1719271007.6045144|1719271004.7230144|\n", + "|1719271011.7120683|1719271012.5775683|1719271006.5975683|1719271009.5875683|1719271008.8525684|1719271012.8275683|584613543557|1719271008.5725684|1719271011.4450684|1719271009.8565683|1719271006.5975683|1719271013.7460685|1719271013.7460685|1719271013.4575684|track1#8280728992...|1719271006.8645682|1719271007.5025682|1719271010.3700683|1719271010.6270683|1719271007.7595682|\n", + "|1719271009.8034272|1719271010.4479272|1719271004.4279273|1719271007.5054271| 1719271006.782427|1719271010.7204273|584613083274|1719271006.5104272|1719271009.5204272| 1719271007.773927|1719271004.4279273| 1719271011.767927| 1719271011.767927| 1719271011.482927|track1#8280728993...| 1719271004.702927|1719271005.4454272|1719271008.5579271| 1719271008.845927|1719271005.7409272|\n", + "|1719271006.5933278|1719271007.3303277|1719271001.3953278|1719271004.4078279|1719271003.6218278|1719271007.5948277|584613543557|1719271003.3353279|1719271006.3128278|1719271004.7003279|1719271001.3953278|1719271008.5588279|1719271008.5588279| 1719271008.297828|track1#8280728994...|1719271001.6748278|1719271002.4053278|1719271005.4778278|1719271005.7583277|1719271002.7028277|\n", + "|1719271007.6215649| 1719271008.373065|1719271002.5405648|1719271005.5405648|1719271004.7595649| 1719271008.639565|584613543557| 1719271004.463065| 1719271007.358065|1719271005.8395648|1719271002.5405648|1719271009.5920649|1719271009.5920649|1719271009.3230648|track1#8280728994...|1719271002.8180647| 1719271003.403065| 1719271006.340565| 1719271006.637065| 1719271003.653565|\n", + "|1719271004.5724347|1719271005.3514347|1719270999.4814346|1719271002.4114347|1719271001.7349346|1719271005.6154346|584613083274|1719271001.4414346|1719271004.2889347|1719271002.6669345|1719270999.4814346|1719271006.6779346|1719271006.6779346|1719271006.4264348|track1#8280728995...|1719270999.7359345|1719271000.2639346|1719271003.4064348|1719271003.6649346|1719271000.5169346|\n", + "|1719271003.6917264|1719271004.3177264|1719270998.3427265|1719271001.2827263|1719271000.5242264|1719271004.6097264|584613543557|1719271000.2677264|1719271003.4352264|1719271001.5327263|1719270998.3427265|1719271005.7177265|1719271005.7177265|1719271005.4252264|track1#8280728997...|1719270998.6322265|1719270999.2752264|1719271002.3052263|1719271002.5712264|1719270999.5342264|\n", + "| 1719271005.651824|1719271006.3373241| 1719271000.359824| 1719271003.487324|1719271002.6898239| 1719271006.624824|584613083274| 1719271002.432324| 1719271005.364824| 1719271003.776824| 1719271000.359824| 1719271007.632324| 1719271007.632324| 1719271007.354824|track1#8280728998...| 1719271000.619824| 1719271001.492324| 1719271004.362324| 1719271004.644324| 1719271001.782324|\n", + "|1719271002.4999838|1719271003.4149835|1719270997.3499837|1719271000.4674835|1719270999.7149835|1719271003.6804836|584613083274|1719270999.4274836|1719271002.2374837|1719271000.7544835|1719270997.3499837|1719271004.5459836|1719271004.5459836|1719271004.2599835|track1#8280729000...|1719270997.6089838|1719270998.4499836|1719271001.3824837|1719271001.6469836|1719270998.7324836|\n", + "|1719271000.5454953|1719271001.2699952|1719270995.2299953| 1719270998.432495| 1719270997.629995| 1719271001.538495|584613083274|1719270997.3449953|1719271000.2624953| 1719270998.703995|1719270995.2299953|1719271002.5784953|1719271002.5784953|1719271002.2924953|track1#8280729000...|1719270995.4954953| 1719270996.432495| 1719270999.379995| 1719270999.654495|1719270996.7079952|\n", + "|1719271001.6440287|1719271002.3355286|1719270996.4055285|1719270999.4080286|1719270998.5070286|1719271002.6245286|584613083274|1719270998.2455287|1719271001.3605287|1719270999.6830285|1719270996.4055285|1719271003.7610285|1719271003.7610285|1719271003.4705286|track1#8280729001...|1719270996.6800284|1719270997.3555286|1719271000.3630285|1719271000.6255286|1719270997.6385286|\n", + "|1719270999.7254891|1719271000.4289892|1719270994.4339893|1719270997.2189894|1719270996.5434892|1719271000.7244892|584613083274|1719270996.2789893|1719270999.4339893|1719270997.4689894|1719270994.4339893|1719271001.5534892|1719271001.5534892|1719271001.3014894|track1#8280729004...|1719270994.6889892|1719270995.3864894|1719270998.3564892|1719270998.6064892|1719270995.6589894|\n", + "+------------------+------------------+------------------+------------------+------------------+------------------+------------+------------------+------------------+------------------+------------------+------------------+------------------+------------------+--------------------+------------------+------------------+------------------+------------------+------------------+\n", + "only showing top 20 rows\n", + "\n" + ] + } + ], "source": [ "df = spark.read \\\n", " .format('bigtable') \\\n", @@ -110,16 +183,70 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Stage 1:> (0 + 1) / 1]\r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+--------------------+------------+----------------+\n", + "| _rowkey| car_id|duration_in_secs|\n", + "+--------------------+------------+----------------+\n", + "|track1#8280728985...|584613083274| 7.18|\n", + "|track1#8280728986...|584613083274| 7.34|\n", + "|track1#8280728986...|584613543557| 7.24|\n", + "|track1#8280728986...|584613543557| 7.16|\n", + "|track1#8280728987...|584613543557| 7.26|\n", + "|track1#8280728987...|584613083274| 7.26|\n", + "|track1#8280728990...|584613543557| 7.2|\n", + "|track1#8280728990...|584613083274| 7.29|\n", + "|track1#8280728991...|584613543557| 7.48|\n", + "|track1#8280728992...|584613543557| 7.15|\n", + "|track1#8280728993...|584613083274| 7.34|\n", + "|track1#8280728994...|584613543557| 7.16|\n", + "|track1#8280728994...|584613543557| 7.05|\n", + "|track1#8280728995...|584613083274| 7.2|\n", + "|track1#8280728997...|584613543557| 7.38|\n", + "|track1#8280728998...|584613083274| 7.27|\n", + "|track1#8280729000...|584613083274| 7.2|\n", + "|track1#8280729000...|584613083274| 7.35|\n", + "|track1#8280729001...|584613083274| 7.36|\n", + "|track1#8280729004...|584613083274| 7.12|\n", + "+--------------------+------------+----------------+\n", + "only showing top 20 rows\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" + ] + } + ], "source": [ "df.createOrReplaceTempView(\"races\")\n", "\n", - "totalTimes = spark.sql(\"SELECT _rowkey, bround((end - start)/1000,2) as duration_in_secs FROM races\")\n", - "totalTimes.show()" + "total_times = spark.sql(\"\"\"\n", + " SELECT \n", + " _rowkey,\n", + " car_id,\n", + " bround((end - start), 2) as duration_in_secs \n", + " FROM \n", + " races\n", + "\"\"\")\n", + "total_times.show()" ] }, { @@ -131,15 +258,50 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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kydP1hNPPKHp06dbHRWAm/r06XPO9SUlJRo9erRCQ0MlSR9//HF1xkINRLGAMR9++KHeeecd9ejRQw8++KBatGihjz/+WL1795Yk1alTR8OGDaNYAF5o3rx56tKli2JjY8/aFhISovDwcAtSoSZi8iaMCQ4O1rZt21xfQQsICNB3332nhIQESdKePXuUkJCgoqIiK2MCqIRZs2bp0Ucf1dNPP60hQ4a41vv7+2vTpk2Kj4+3MB1qEuZYwJgmTZpo9erVkqS1a9fKZrPp22+/dW1fs2aNGjVqZFU8AFXQr18/ff3113rrrbd0xx136PDhw1ZHQg3FrRAYM3z4cA0ePFhvvPGG1q9frxdffFETJkzQtm3b5OPjo7S0NI0bN87qmAAqKTo6WitWrNCUKVPUpk0bzZgxQzabzepYqGG4FQKj3nvvPWVmZqpz587q27evli9frsmTJ+v48eO67bbbNGnSJPn4cKEM8HbffPONBg4cqOzsbG3evJlbIXChWAAAKuXYsWP66aefdOWVV8put1sdBzUExQIeUVJSooMHD8pms6l27dry9fW1OhIAoBpwTRpGzZ07V506dVJwcLAaNmyoBg0aKDg4WJ06ddK8efOsjgegknbs2FHmCbpff/21br/9diUkJKhHjx765JNPLEyHmoRiAWNef/119evXT61bt9bs2bP19ddf6z//+Y9mz56t1q1bq1+/fpoxY4bVMQFUQlxcnA4cOCBJWr58ubp27arS0lINGDBAERER6tOnj5YsWWJxStQE3AqBMc2bN1dKSoruvffec25/6623NHXqVP3000/VnAxAVfn4+CgvL0+RkZHq0aOHWrZsqVdffdW1PSUlRatWrdKKFSssTImagCsWMObnn39W586dy93esWNH7du3rxoTAfCErVu3atCgQWXWDRw4UFu2bLEoEWoSigWMSUhIUHp6ernbZ8yY4XoKJwDvc/ToURUWFiooKOisb4EEBAToxIkTFiVDTcIDsmDMiy++qF69emnx4sXq2bOn6tWrJ5vNpry8PC1dulTZ2dlauHCh1TEBVNIVV1whSXI6nVq/fr3atm3r2rZlyxaerAtJFAsY1LVrV/3www9KS0tTZmam8vLyJEn169fXrbfequHDhysmJsbakAAq5auvviqz3KBBgzLLe/bs0bBhw6ozEmooJm8CAABjmGMBj3M6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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "averagePerCar = spark.sql(\"SELECT car_id, bround(avg((end - start)/1000),2) as duration_in_secs FROM races GROUP BY car_id ORDER BY car_id\")\n", - "averagePerCar.toPandas().plot.bar(x='car_id')\n", - "\n", - "# Can also do the same thing with a pure spark dataframe in more of a builder format.\n", - "# df.withColumn('TotalTime', (df.End - df.Start)/1000).groupBy('Car_ID').avg('TotalTime').orderBy('Car_ID').toPandas().plot.bar(x='Car_ID')" + "average_per_car = spark.sql(\"\"\"\n", + " SELECT \n", + " car_id, \n", + " bround(avg((end - start)), 2) as duration_in_secs \n", + " FROM \n", + " races \n", + " GROUP BY \n", + " car_id \n", + " ORDER BY \n", + " car_id\n", + "\"\"\")\n", + "average_per_car.toPandas().plot.bar(x='car_id')" ] }, { @@ -155,24 +317,68 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+--------------------+------------+--------+--------+--------+--------+--------+--------+--------+--------+\n", + "| _rowkey| car_id|C1_speed|C2_speed|C3_speed|C4_speed|C5_speed|C6_speed|C7_speed|C8_speed|\n", + "+--------------------+------------+--------+--------+--------+--------+--------+--------+--------+--------+\n", + "|track1#8280728986...|584613543557| 0.51825| 0.55686| 0.4965| 0.49391| 0.49306| 0.54199| 0.50896| 0.5192|\n", + "|track2#8280728983...|584613083274| 0.50896| 0.5269| 0.55039| 0.48797| 0.56238| 0.55577| 0.48714| 0.56687|\n", + "+--------------------+------------+--------+--------+--------+--------+--------+--------+--------+--------+\n", + "\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAINCAYAAADsjH/3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZdElEQVR4nO3de1hVZf7//+cGlYMIhMpBx2SbiICmgpmU1TgaSmNDH08kHXQGnBCtTBurMUbM0I/lOcWUgqZvzIDINB+d8EA5nipjQnQsUVBB1GC0HNPwgAK/P/yxpz2AApIL9PW4rnVd7XXfa6/33rbgxbrvtZapqqqqChERERGD2BhdgIiIiNzeFEZERETEUAojIiIiYiiFERERETGUwoiIiIgYSmFEREREDKUwIiIiIoZqZXQB9VFZWck333xDu3btMJlMRpcjIiIi9VBVVcW5c+fo1KkTNjZ1n/9oEWHkm2++oUuXLkaXISIiIo1w7Ngxfvazn9XZ3iLCSLt27YCrH8bZ2dngakRERKQ+zp49S5cuXSy/x+vSIsJI9dCMs7OzwoiIiEgLc70pFprAKiIiIoZSGBERERFDKYyIiIiIoRRGRERExFAKIyIiImIohRERERExlMKIiIiIGEphRERERAylMCIiIiKGUhgRERERQymMiIiIiKEURkRERMRQCiMiIiJiKIURERERMZTCiIiIiBiqldEFiIiItARxcXGGbn8r05kRERERMZTCiIiIiBhKwzQiInJTrYje0uhtJ7/9iyasRJoLnRkRERERQymMiIiIiKE0THMri3O5we2/b5o6RERErkFhREREWoyF4SNuaPvpaX9rokqkKWmYRkRERAylMCIiIiKG0jCNiMhtqPcfezd6233j9zVhJSI6MyIiIiIGUxgRERERQymMiIiIiKEURkRERMRQCiMiIiJiKF1NI7cc3RRJRKRl0ZkRERERMZTCiIiIiBhKYUREREQMpTAiIiIihlIYEREREUMpjIiIiIihFEZERETEUAojIiIiYijd9ExEpCWKc7mx7c13Nk0dIk1AZ0ZERETEUAojIiIiYiiFERERETGUwoiIiIgYShNYmznvlz9q9LZF9k1YiNRLXFycoduLiLREOjMiIiIihlIYEREREUMpjIiIiIihFEZERETEUAojIiIiYihdTSPyX46/vKPxG+sKJmkAXS0ncpXOjIiIiIihGhVGEhISMJvN2NvbExQUxI4ddf8luXXrVkwmU43lwIEDjS5aREREbh0NDiNpaWlMnTqVmTNnkpubywMPPEBoaCjFxcXX3O7gwYOUlJRYFh8fn0YXLSIiIreOBoeRRYsWERkZSVRUFH5+fixZsoQuXbqwcuXKa27n7u6Op6enZbG1tW100SIiInLraFAYKS8vJycnh5CQEKv1ISEhfPbZZ9fctl+/fnh5eTFkyBD+/ve/X7PvpUuXOHv2rNUiIiIit6YGhZFvv/2WiooKPDw8rNZ7eHhQWlpa6zZeXl6sXr2ajIwM/vKXv+Dr68uQIUPYvn17nfuZN28eLi4ulqVLly4NKVNERERakEZd2msymaxeV1VV1VhXzdfXF19fX8vr4OBgjh07xoIFC3jwwQdr3eaVV15h2rRpltdnz55VIBEREblFNSiMdOjQAVtb2xpnQU6ePFnjbMm1DBw4kA8++KDOdjs7O+zs7BpSmvwEev+xd6O33Td+XxNWIiIit7IGhZE2bdoQFBREVlYW//M//2NZn5WVRVhYWL3fJzc3Fy8vr4bsWlqYvJ5+N7S934G8JqpERESauwYP00ybNo2nnnqK/v37ExwczOrVqykuLiY6Ohq4OsRy4sQJ3n//fQCWLFmCt7c3AQEBlJeX88EHH5CRkUFGRkbTfhK5payI3mJ0CSIicpM0OIyEh4fz3Xff8dprr1FSUkKvXr3IzMyka9euAJSUlFjdc6S8vJwXX3yREydO4ODgQEBAAB999BGPPPJI030KERERabEaNYE1JiaGmJiYWtvee+89q9czZsxgxowZjdmNiIiI3Ab0oDwREWmQG50Txs9XNE0hcstQGBERkduGnsrdPOmpvSIiImIohRERERExlMKIiIiIGEphRERERAylMCIiIiKGUhgRERERQymMiIiIiKEURkRERMRQCiMiIiJiKIURERERMZTCiIiIiBhKYUREREQMpTAiIiIihlIYEREREUMpjIiIiIihFEZERETEUAojIiIiYiiFERERETGUwoiIiIgYSmFEREREDKUwIiIiIoZSGBERERFDKYyIiIiIoRRGRERExFAKIyIiImIohRERERExlMKIiIiIGEphRERERAylMCIiIiKGUhgRERERQymMiIiIiKEURkRERMRQCiMiIiJiKIURERERMZTCiIiIiBhKYUREREQMpTAiIiIihlIYEREREUMpjIiIiIihFEZERETEUAojIiIiYiiFERERETGUwoiIiIgYSmFEREREDKUwIiIiIoZSGBERERFDKYyIiIiIoRRGRERExFAKIyIiImKoRoWRhIQEzGYz9vb2BAUFsWPHjnpt9+mnn9KqVSv69u3bmN2KiIjILajBYSQtLY2pU6cyc+ZMcnNzeeCBBwgNDaW4uPia233//fc8/fTTDBkypNHFioiIyK2nwWFk0aJFREZGEhUVhZ+fH0uWLKFLly6sXLnymts988wzREREEBwc3OhiRURE5NbToDBSXl5OTk4OISEhVutDQkL47LPP6twuOTmZw4cPM2vWrHrt59KlS5w9e9ZqERERkVtTg8LIt99+S0VFBR4eHlbrPTw8KC0trXWbgoICXn75ZVJSUmjVqlW99jNv3jxcXFwsS5cuXRpSpoiIiLQgjZrAajKZrF5XVVXVWAdQUVFBREQEs2fPpkePHvV+/1deeYXvv//eshw7dqwxZYqIiEgLUL9TFf+/Dh06YGtrW+MsyMmTJ2ucLQE4d+4cX375Jbm5uUyZMgWAyspKqqqqaNWqFZs3b+YXv/hFje3s7Oyws7NrSGkiIiLSQjXozEibNm0ICgoiKyvLan1WVhb33Xdfjf7Ozs7s27ePPXv2WJbo6Gh8fX3Zs2cP9957741VLyIiIi1eg86MAEybNo2nnnqK/v37ExwczOrVqykuLiY6Ohq4OsRy4sQJ3n//fWxsbOjVq5fV9u7u7tjb29dYLyIiIrenBoeR8PBwvvvuO1577TVKSkro1asXmZmZdO3aFYCSkpLr3nNEREREpFqDwwhATEwMMTExtba9995719w2Li6OuLi4xuxWREREbkF6No2IiIgYSmFEREREDKUwIiIiIoZSGBERERFDKYyIiIiIoRRGRERExFAKIyIiImIohRERERExlMKIiIiIGEphRERERAylMCIiIiKGUhgRERERQymMiIiIiKEURkRERMRQCiMiIiJiKIURERERMZTCiIiIiBhKYUREREQMpTAiIiIihlIYEREREUMpjIiIiIihFEZERETEUAojIiIiYiiFERERETGUwoiIiIgYSmFEREREDKUwIiIiIoZSGBERERFDKYyIiIiIoRRGRERExFAKIyIiImIohRERERExlMKIiIiIGEphRERERAylMCIiIiKGUhgRERERQymMiIiIiKEURkRERMRQCiMiIiJiKIURERERMZTCiIiIiBhKYUREREQMpTAiIiIihlIYEREREUMpjIiIiIihFEZERETEUAojIiIiYiiFERERETGUwoiIiIgYSmFEREREDKUwIiIiIoZqVBhJSEjAbDZjb29PUFAQO3bsqLPvzp07uf/++2nfvj0ODg707NmTxYsXN7pgERERubW0augGaWlpTJ06lYSEBO6//35WrVpFaGgo+/fv584776zRv23btkyZMoW7776btm3bsnPnTp555hnatm3Lb3/72yb5ECIiItJyNfjMyKJFi4iMjCQqKgo/Pz+WLFlCly5dWLlyZa39+/Xrx7hx4wgICMDb25snn3ySYcOGXfNsioiIiNw+GhRGysvLycnJISQkxGp9SEgIn332Wb3eIzc3l88++4yHHnqozj6XLl3i7NmzVouIiIjcmhoURr799lsqKirw8PCwWu/h4UFpaek1t/3Zz36GnZ0d/fv3Z/LkyURFRdXZd968ebi4uFiWLl26NKRMERERaUEaNYHVZDJZva6qqqqx7r/t2LGDL7/8krfffpslS5bw5z//uc6+r7zyCt9//71lOXbsWGPKFBERkRagQRNYO3TogK2tbY2zICdPnqxxtuS/mc1mAHr37s2//vUv4uLiGDduXK197ezssLOza0hpIiIi0kI16MxImzZtCAoKIisry2p9VlYW9913X73fp6qqikuXLjVk1yIiInKLavClvdOmTeOpp56if//+BAcHs3r1aoqLi4mOjgauDrGcOHGC999/H4AVK1Zw55130rNnT+DqfUcWLFjAs88+24QfQ0RERFqqBoeR8PBwvvvuO1577TVKSkro1asXmZmZdO3aFYCSkhKKi4st/SsrK3nllVcoLCykVatW3HXXXfzv//4vzzzzTNN9CpFbWEVFBZcvXza6DLlBrVu3xtbW1ugyRJqlBocRgJiYGGJiYmpte++996xeP/vsszoLItIIVVVVlJaWcubMGaNLkSbi6uqKp6fndSf8i9xuGhVGROSnVx1E3N3dcXR01C+wFqyqqorz589z8uRJALy8vAyuSKR5URgRaYYqKiosQaR9+/ZGlyNNwMHBAbh69aG7u7uGbER+RE/tFWmGqueIODo6GlyJNKXqf0/NARKxpjAi0oxpaObWon9PkdopjIiI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PJzExETS0tLIyMjg9OnTlvbqibI/fl09dBQYGEhBQQHu7u50797danFxccHDw4POnTtz5MiRGu1msxkAf39/9u7dy4ULF+rcp4jUn8KIiDSphIQEKioqGDBgABkZGRQUFJCXl8eyZcsIDg6mZ8+edO/enWeeeYbs7GwOHz7MwoULycrKqvNsyo8tXryY1NRUDhw4QH5+Punp6Xh6elomxwKkp6eTlJREfn4+s2bNIjs7mylTpgDwxBNP0KFDB8LCwtixYweFhYVs27aN559/nuPHjwNX768yb948li5dSn5+Pvv27SM5OZlFixYBEBERgY2NDZGRkezfv5/MzEwWLFjQ5N+lyO1CwzQiLczNvOlZY5jNZnbv3k18fDzTp0+npKSEjh07EhQUxMqVK2ndujWZmZm8/PLLPProo/zwww90796dP/7xjzzyyCPXfX8nJyfmz59PQUEBtra23HPPPWRmZlqdaZk9ezapqanExMTg6elJSkoK/v7+ADg6OrJ9+3ZeeuklRo4cyblz5+jcuTNDhgzB2dkZgKioKBwdHXnzzTeZMWMGbdu2pXfv3kydOtVSw/r164mOjqZfv374+/szf/58Ro0a1fRfqMhtQGFERJqcl5cXy5cvZ/ny5bW2+/j4kJGR0aj3njhxotXE0tp06tSJzZs319nu6elpuUy3LhEREURERNTZPnDgwBq3ftdcEpHG0TCNiIiIGEphRESalblz5+Lk5FTrEhoaanR5IvIT0DCNiDQr0dHRjB07ttY2BweH626voRKRlkdhRESaFTc3N9zc3IwuQ0RuIg3TiDRj+iv/1qJ/T5HaKYyINEOtW7cGsNwgTG4N1f+e1f++InKVhmlEmiFbW1tcXV05efIkcPXeGNd73os0X1VVVZw/f56TJ0/i6upqua28iFylMCLSTHl6egJYAom0fK6urpZ/VxH5D4URkWbKZDLh5eWFu7s7ly9fNrocuUGtW7fWGRGROiiMiDRztra2+iUmIre0Rk1gTUhIwGw2Y29vT1BQEDt27Lhm/23bthEUFIS9vT3dunW77iPCRURE5PbR4DCSlpbG1KlTmTlzJrm5uTzwwAOEhoZSXFxca//CwkIeeeQRHnjgAXJzc/n973/Pc8891+jnUoiIiMitpcFhZNGiRURGRhIVFYWfnx9LliyhS5curFy5stb+b7/9NnfeeSdL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aWlWYaS8vJz/9//+Hx07dmzw/vPz89mwYQO7du3i3nvvBeDdd9/Fz8/vRj6WiBhEYUREGiwvL49Lly4xZMiQWtvXrl3LkiVLOHToED/88ANXrlzB2dnZqk/Xrl0bFUSq99+qVSv69+9vWdezZ09cXV0b9X4iYizNGRGRBnNwcKizbdeuXTz++OOEhobyt7/9jdzcXGbOnEl5eblVv7Zt2zZ6/9XzS6ofTy8iLZvCiIg0mI+PDw4ODnzyySc12j799FO6du3KzJkz6d+/Pz4+Phw9erRJ9+/n58eVK1f48ssvLesOHjzImTNnmnQ/InJzaJhGRBrM3t6el156iRkzZtCmTRvuv/9+Tp06xddff0337t0pLi4mNTWVe+65h48++ogPP/ywSffv6+vL8OHDmThxIqtXr6ZVq1ZMnTr1mmdsRKT50pkREWmU2NhYpk+fzh/+8Af8/PwIDw/n5MmThIWF8cILLzBlyhT69u3LZ599RmxsbJPvPzk5mS5duvDQQw8xcuRIfvvb3+Lu7t7k+xGRn56p6noX94uIiIj8hHRmRERERAylMCIihisuLsbJyanOpbi42OgSReQnpGEaETHclStXKCoqqrPd29ubVq00317kVqUwIiIiIobSMI2IiIgYSmFEREREDKUwIiIiIoZSGBERERFDKYyIiIiIoRRGRERExFAKIyIiImKo/w/zveoWZrs91gAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "speeds = spark.sql(\n", - " \"SELECT _rowkey, car_id, \"\n", - " \"bround(.0568*2.5/((Checkpoint_1_end - Checkpoint_1)/1000),5) as C1_speed, \"\n", - " \"bround(.0568*2.5/((Checkpoint_2_end - Checkpoint_2)/1000),5) as C2_speed, \"\n", - " \"bround(.0568*2.5/((Checkpoint_3_end - Checkpoint_3)/1000),5) as C3_speed, \"\n", - " \"bround(.0568*2.5/((Checkpoint_4_end - Checkpoint_4)/1000),5) as C4_speed, \"\n", - " \"bround(.0568*2.5/((Checkpoint_5_end - Checkpoint_5)/1000),5) as C5_speed, \"\n", - " \"bround(.0568*2.5/((Checkpoint_6_end - Checkpoint_6)/1000),5) as C6_speed, \"\n", - " \"bround(.0568*2.5/((Checkpoint_7_end - Checkpoint_7)/1000),5) as C7_speed, \"\n", - " \"bround(.0568*2.5/((Checkpoint_8_end - Checkpoint_8)/1000),5) as C8_speed \"\n", - " \"FROM races \"\n", - " \"ORDER BY start DESC \"\n", - " \"LIMIT 2 \"\n", - ")\n", + "speeds = spark.sql(\"\"\"\n", + " SELECT \n", + " _rowkey, \n", + " car_id,\n", + " bround(.0568*2.5/((Checkpoint_1_end - Checkpoint_1)), 5) as C1_speed,\n", + " bround(.0568*2.5/((Checkpoint_2_end - Checkpoint_2)), 5) as C2_speed,\n", + " bround(.0568*2.5/((Checkpoint_3_end - Checkpoint_3)), 5) as C3_speed,\n", + " bround(.0568*2.5/((Checkpoint_4_end - Checkpoint_4)), 5) as C4_speed,\n", + " bround(.0568*2.5/((Checkpoint_5_end - Checkpoint_5)), 5) as C5_speed,\n", + " bround(.0568*2.5/((Checkpoint_6_end - Checkpoint_6)), 5) as C6_speed,\n", + " bround(.0568*2.5/((Checkpoint_7_end - Checkpoint_7)), 5) as C7_speed,\n", + " bround(.0568*2.5/((Checkpoint_8_end - Checkpoint_8)), 5) as C8_speed\n", + " FROM \n", + " races \n", + " ORDER BY start DESC \n", + " LIMIT 2\n", + "\"\"\")\n", "\n", "speeds.show()\n", "speeds.toPandas().plot.bar(x=\"car_id\")" @@ -189,7 +395,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": { "tags": [] }, @@ -199,73 +405,27 @@ "from IPython import display\n", "import time\n", "\n", - "def graphRaces(races, key=\"_rowkey\", live_refresh=False): \n", - " recentRacesWithDiffs = races\n", - "\n", + "def graph_races(races, key=\"_rowkey\", legend=True):\n", + " races_with_diffs = races.alias(\"races_with_diffs\")\n", " # Find the diffs for each checkpoint\n", - " checkpoint_cols = [col for col in recentRacesWithDiffs.columns if col.startswith('Checkpoint_')]\n", + " checkpoint_cols = [col for col in races.columns if col.startswith('Checkpoint_')]\n", " for checkpoint in checkpoint_cols:\n", - " recentRacesWithDiffs = recentRacesWithDiffs.withColumn(\n", - " f\"{checkpoint}_diff\", \n", - " (recentRacesWithDiffs[checkpoint] - recentRacesWithDiffs.Start)/1000\n", - " )\n", + " races_with_diffs = races_with_diffs.withColumn(\n", + " f\"{checkpoint}_diff\", \n", + " (col(checkpoint) - col(\"Start\")))\n", " \n", " # Create a new data structure to use the diffs\n", " data = {}\n", - " checkpointDiffCols = [f\"Checkpoint_{i}_diff\" for i in range(1,9)]\n", - " for row in recentRacesWithDiffs.collect():\n", - " data[row[key]] = [row[col] for col in checkpointDiffCols]\n", + " checkpoint_diff_cols = [f\"Checkpoint_{i}_diff\" for i in range(1,9)]\n", + " for row in races_with_diffs.collect():\n", + " data[row[key]] = [row[col] for col in checkpoint_diff_cols]\n", " \n", - " raceData = pd.DataFrame(data, index=range(1,9))\n", - " if not(live_refresh):\n", - " display.display(raceData.plot.line())\n", - " return raceData\n", + " race_data = pd.DataFrame(data, index=range(1,9))\n", + " race_data.plot.line(xlabel=\"Checkpoint\", ylabel=\"Time (seconds)\", legend=legend)\n", + " return race_data\n", " \n", - "def graphRacesByCar(races):\n", - " graphRaces(races, \"Car_ID\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "jupyter": { - "source_hidden": true - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Live refreshing graph\n", - "import matplotlib.pyplot as plt\n", - "plt.style.use('fivethirtyeight')\n", - "\n", - "# races = spark.sql(\n", - "# \"SELECT *, FROM_UNIXTIME(start), random() as rand FROM races \"\n", - "# \"ORDER BY rand DESC \"\n", - "# \"LIMIT 2 \"\n", - "# )\n", - "# data = graphRaces(races)\n", - "# display.display(data.plot.line())\n", - "# clear\n", - "\n", - "while True:\n", - " # Update the data\n", - " races = spark.sql(\n", - " \"SELECT *, FROM_UNIXTIME(start) as start FROM races \"\n", - " \"ORDER BY start DESC \"\n", - " \"LIMIT 2 \"\n", - " ) \n", - " data = graphRaces(races, live_refresh=True)\n", - " plt.plot(data)\n", - " \n", - " legend = list(map(lambda x: x.split('#')[0], data.columns))\n", - " plt.legend(legend)\n", - " \n", - " plt.show()\n", - "\n", - " display.clear_output(wait=True) # Clear the previous output\n", - " time.sleep(.2)" + "def graph_races_by_car(races):\n", + " graph_races(races, key=\"Car_ID\", legend=True)" ] }, { @@ -279,18 +439,120 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "metadata": { "tags": [] }, - "outputs": [], + "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", + "
track1#8280730074.084286track1#8280730048.516078
10.00000.0000
21.06750.9550
32.18001.9825
43.19752.9850
54.04754.1100
64.96755.1050
76.11756.0600
87.06757.0225
\n", + "
" + ], + "text/plain": [ + " track1#8280730074.084286 track1#8280730048.516078\n", + "1 0.0000 0.0000\n", + "2 1.0675 0.9550\n", + "3 2.1800 1.9825\n", + "4 3.1975 2.9850\n", + "5 4.0475 4.1100\n", + "6 4.9675 5.1050\n", + "7 6.1175 6.0600\n", + "8 7.0675 7.0225" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "races = spark.sql(\n", - " \"SELECT *, FROM_UNIXTIME(start) FROM races \"\n", - " \"ORDER BY start DESC \"\n", - " \"LIMIT 2 \"\n", - ")\n", - "graphRaces(races)" + "races = spark.sql(\"\"\"\n", + " SELECT \n", + " *, \n", + " FROM_UNIXTIME(start) \n", + " FROM \n", + " races\n", + " ORDER BY start\n", + " LIMIT 2\n", + "\"\"\")\n", + "\n", + "graph_races(races)" ] }, { @@ -302,20 +564,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "recentRaces = spark.sql(\n", - " \"SELECT * FROM races \"\n", - " \"WHERE (_rowkey, car_id) IN ( \"\n", - " \" SELECT MAX(_rowkey), car_id \"\n", - " \" FROM races \"\n", - " \" GROUP BY car_id) \"\n", - ")\n", - "# recentRaces.show()\n", - "\n", - "graphRacesByCar(recentRaces)" + "recent_races = spark.sql(\"\"\"\n", + " SELECT\n", + " * \n", + " FROM \n", + " races\n", + " WHERE (_rowkey, car_id) IN (\n", + " SELECT \n", + " MAX(_rowkey), \n", + " car_id\n", + " FROM\n", + " races\n", + " GROUP BY car_id\n", + " )\n", + "\"\"\")\n", + "\n", + "\n", + "graph_races_by_car(recent_races)" ] }, { @@ -327,16 +607,382 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": {}, - "outputs": [], + "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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
track1#8280728986.137873track1#8280728986.509577track1#8280728987.389035track1#8280728990.298508track1#8280728991.744606track1#8280728992.334127track1#8280728994.243475track1#8280728994.862317track1#8280728997.01792track1#8280729028.579701...track2#8280729035.327359track2#8280729039.245312track2#8280729039.504437track2#8280729039.958227track2#8280729040.763188track2#8280729042.542448track2#8280729043.936437track2#8280729046.349587track2#8280729047.441605track2#8280729047.595451
10.00000.00000.00000.00000.0000.00000.00000.00000.00000.0000...0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
20.94751.03501.20750.87751.1200.90501.01000.86250.93250.9650...0.99500.95001.06001.03000.80751.06500.95251.21751.19500.9275
32.04751.95752.06751.89252.2051.97501.94001.92251.92502.0425...2.17002.10002.10252.05501.83751.96252.01002.21502.18751.8600
42.99252.96753.17502.96003.1152.99003.01253.00002.94003.1250...2.96502.94753.00503.10252.98502.89252.87253.00003.05752.9000
54.04754.00004.04503.98504.0003.77254.08253.80003.96253.9600...4.17004.00753.90503.95003.83753.81753.84754.02504.13503.8475
64.97254.93505.15755.06255.0904.84754.91754.81755.09254.9700...5.00005.02504.96754.92254.90755.05505.01005.10004.97504.9575
75.90005.93506.19505.90256.1305.98005.93505.83255.97506.0800...5.99756.14756.08755.95755.99255.87755.86006.23006.00506.0200
86.95506.88756.97756.94007.2156.86006.90256.78257.08257.0450...6.97007.08256.91757.05756.83006.97757.03507.03257.17506.9775
\n", + "

8 rows × 85 columns

\n", + "
" + ], + "text/plain": [ + " track1#8280728986.137873 track1#8280728986.509577 \\\n", + "1 0.0000 0.0000 \n", + "2 0.9475 1.0350 \n", + "3 2.0475 1.9575 \n", + "4 2.9925 2.9675 \n", + "5 4.0475 4.0000 \n", + "6 4.9725 4.9350 \n", + "7 5.9000 5.9350 \n", + "8 6.9550 6.8875 \n", + "\n", + " track1#8280728987.389035 track1#8280728990.298508 \\\n", + "1 0.0000 0.0000 \n", + "2 1.2075 0.8775 \n", + "3 2.0675 1.8925 \n", + "4 3.1750 2.9600 \n", + "5 4.0450 3.9850 \n", + "6 5.1575 5.0625 \n", + "7 6.1950 5.9025 \n", + "8 6.9775 6.9400 \n", + "\n", + " track1#8280728991.744606 track1#8280728992.334127 \\\n", + "1 0.000 0.0000 \n", + "2 1.120 0.9050 \n", + "3 2.205 1.9750 \n", + "4 3.115 2.9900 \n", + "5 4.000 3.7725 \n", + "6 5.090 4.8475 \n", + "7 6.130 5.9800 \n", + "8 7.215 6.8600 \n", + "\n", + " track1#8280728994.243475 track1#8280728994.862317 \\\n", + "1 0.0000 0.0000 \n", + "2 1.0100 0.8625 \n", + "3 1.9400 1.9225 \n", + "4 3.0125 3.0000 \n", + "5 4.0825 3.8000 \n", + "6 4.9175 4.8175 \n", + "7 5.9350 5.8325 \n", + "8 6.9025 6.7825 \n", + "\n", + " track1#8280728997.01792 track1#8280729028.579701 ... \\\n", + "1 0.0000 0.0000 ... \n", + "2 0.9325 0.9650 ... \n", + "3 1.9250 2.0425 ... \n", + "4 2.9400 3.1250 ... \n", + "5 3.9625 3.9600 ... \n", + "6 5.0925 4.9700 ... \n", + "7 5.9750 6.0800 ... \n", + "8 7.0825 7.0450 ... \n", + "\n", + " track2#8280729035.327359 track2#8280729039.245312 \\\n", + "1 0.0000 0.0000 \n", + "2 0.9950 0.9500 \n", + "3 2.1700 2.1000 \n", + "4 2.9650 2.9475 \n", + "5 4.1700 4.0075 \n", + "6 5.0000 5.0250 \n", + "7 5.9975 6.1475 \n", + "8 6.9700 7.0825 \n", + "\n", + " track2#8280729039.504437 track2#8280729039.958227 \\\n", + "1 0.0000 0.0000 \n", + "2 1.0600 1.0300 \n", + "3 2.1025 2.0550 \n", + "4 3.0050 3.1025 \n", + "5 3.9050 3.9500 \n", + "6 4.9675 4.9225 \n", + "7 6.0875 5.9575 \n", + "8 6.9175 7.0575 \n", + "\n", + " track2#8280729040.763188 track2#8280729042.542448 \\\n", + "1 0.0000 0.0000 \n", + "2 0.8075 1.0650 \n", + "3 1.8375 1.9625 \n", + "4 2.9850 2.8925 \n", + "5 3.8375 3.8175 \n", + "6 4.9075 5.0550 \n", + "7 5.9925 5.8775 \n", + "8 6.8300 6.9775 \n", + "\n", + " track2#8280729043.936437 track2#8280729046.349587 \\\n", + "1 0.0000 0.0000 \n", + "2 0.9525 1.2175 \n", + "3 2.0100 2.2150 \n", + "4 2.8725 3.0000 \n", + "5 3.8475 4.0250 \n", + "6 5.0100 5.1000 \n", + "7 5.8600 6.2300 \n", + "8 7.0350 7.0325 \n", + "\n", + " track2#8280729047.441605 track2#8280729047.595451 \n", + "1 0.0000 0.0000 \n", + "2 1.1950 0.9275 \n", + "3 2.1875 1.8600 \n", + "4 3.0575 2.9000 \n", + "5 4.1350 3.8475 \n", + "6 4.9750 4.9575 \n", + "7 6.0050 6.0200 \n", + "8 7.1750 6.9775 \n", + "\n", + "[8 rows x 85 columns]" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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o0ezfv36s79XVFTEddddh91up1GjRsydO/ec19m9eze9e/fG39+fqKgohgwZQlFR0dnHVVXlhRdeID09HavVSmJiIs8999yv1qSqKnfeeSeNGzfm6NGjgG9kY8qUKfTq1QubzUZKSgqzZs0653k7duyge/fu2Gw2wsLCuOuuu6isrDz7+H+f+rn88st54IEHGDNmDKGhoURHR/PUU0+dfTw5ORmA6667DkVRzm4LIc4/CSpCCIqLi1m0aBEjRozA4XD84vHg4OCzf544cSIDBw5k+/bt9O7dm1tuuYXi4mIA8vLy6Nq1Ky1btmTjxo0sWrSIgoICBg4cePb5jz32GC+88AITJkxg9+7dfPrpp0RFRf3iPV0uFwMHDmTjxo2sWbOGpKSks49NmDCBAQMGsG3bNm699VYGDx7Mnj17AKiurubqq68mJCSEnJwcZs2axffff8/999//u8dgxowZOBwOfvzxR1588UWefvpplixZAkBOTg4A06ZNIy8v7+y2EKIO6HLPZiFEvfLjjz9qgPb111//7u8B2uOPP352u7KyUlMURVu4cKGmaZo2YcIErWfPnuc85/jx4xqg7du3TysvL9esVqv23nvv/errHz58WAO01atXaz169NA6d+6slZaW/qKGe+6555x9HTp00O69915N0zRt6tSpWkhIiFZZWXn28fnz52sGg0HLz8/XNE3Thg4dqvXr1+/s4127dtW6dOlyzmu2a9dOGzt27DnvO3v27N87PEKI80DmqAgh0DQN8J1W+SPZ2dln/+xwOAgICKCwsBCATZs2sXz5cvz9/X/xvNzcXEpLS3E6nVxxxRW/+x6DBw8mPj6epUuXYrfbf/F4x44df7H985VCe/bsoUWLFueMDHXu3BlVVdm3b9+vjt78d18AMTExZ/sSQuhHTv0IIWjUqBGKopw9ffJ7zGbzOduKoqCqKuCbU9K3b1+2bt16zs+BAwe47LLLsNlsf6qe3r17s3379nPmxvyRn0OWpmm/Gbh+L4j9Xl9CCP1IUBFCEBoaylVXXcU777xDVVXVLx4vLS39U6/TunVrdu3aRXJyMunp6ef8OBwOGjVqhM1m+8PLne+9914mT57Mtddey8qVK3/x+H8HmPXr15ORkQFA06ZN2bp16zl9/PDDDxgMBho3bvyn+vg1ZrMZr9f7f36+EOL/RoKKEAKAd999F6/XS/v27fnqq684cOAAe/bs4c033/zFqZbfMmLECIqLixk8eDAbNmzg0KFDfPfddwwfPhyv14ufnx9jx45lzJgxfPjhh+Tm5rJ+/Xref//9X7zWyJEjefbZZ+nTpw9r1qw557FZs2bxwQcfsH//fp588kk2bNhwdrLsLbfcgp+fH0OHDmXnzp0sX76ckSNHMmTIkN887fNnJCcns3TpUvLz8ykpKfk/v44Q4q+RoCKEACAlJYXNmzfTrVs3HnroIZo1a8aVV17J0qVLmTJlyp96jdjYWH744Qe8Xi9XXXUVzZo1Y9SoUQQFBWEw+P65mTBhAg899BBPPPEEmZmZ3HTTTb85F+TBBx9k4sSJ9O7dm7Vr157dP3HiRGbOnEl2djYzZszgk08+oWnTpgDY7XYWL15McXEx7dq144YbbuCKK67g7bff/p+OzyuvvMKSJUtISEigVatW/9NrCSH+PEX7eRadEEI0AIqiMHv2bFkCX4iLhIyoCCGEEKLekqAihBBCiHpL1lERQjQocrZaiIuLjKgIIYQQot6SoCKEEEKIekuCihBCCCHqLQkqQgghhKi3JKgIIYQQot6SoCKEEEKIekuCihBCCCHqLQkqQgghhKi3/h8hoU0c3Yl9yAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "races = spark.sql(\n", - " \"SELECT *, FROM_UNIXTIME(start) FROM races \"\n", - " \"WHERE _rowkey LIKE 'CAR0003%' \"\n", - ")\n", + "races = spark.sql(\"\"\"\n", + " SELECT \n", + " *, \n", + " FROM_UNIXTIME(start) \n", + " FROM \n", + " races\n", + " WHERE \n", + " car_id == '584613543557'\n", + "\"\"\")\n", "\n", - "graphRaces(races)" + "graph_races(races, legend=False)" ] }, { @@ -357,13 +1003,15 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from langchain_experimental.agents.agent_toolkits import create_spark_dataframe_agent\n", "from langchain_google_genai import ChatGoogleGenerativeAI\n", "\n", - "llm = ChatGoogleGenerativeAI(model=\"gemini-pro\")\n", + "llm = ChatGoogleGenerativeAI(model=\"gemini-1.5-pro\")\n", "\n", "agent = create_spark_dataframe_agent(llm, df=df, verbose=True)" ] @@ -372,7 +1020,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Try counting the races for each car" + "### Count the races for each car" ] }, { @@ -381,14 +1029,14 @@ "metadata": {}, "outputs": [], "source": [ - "agent.run(\"tell me the number of races for each car\")" + "agent.invoke(\"Which car had the most races?\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Try graphing the total times for each car" + "### Graph the total times for each car" ] }, { @@ -404,15 +1052,13 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Some additional queries for Gemeni to try" + "### Additional queries" ] }, { "cell_type": "code", "execution_count": null, - "metadata": { - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "# agent.run(\"list the races where the car got to checkpoint_1 in under 5 seconds\")\n", @@ -423,13 +1069,54 @@ "\n", "# agent.run(\"make a pandas graph showing the races where the car got to checkpoint_1 in under 5 seconds\")" ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "## Write data to BigQuery\n", + "\n", + "You can write your Spark data to BigQuery." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "race_count_by_car = spark.sql(\"\"\"\n", + " SELECT \n", + " car_id, \n", + " count(car_id) as count\n", + " FROM\n", + " races\n", + " GROUP BY car_id\n", + "\"\"\")\n", + "\n", + "race_count_by_car.write \\\n", + " .format(\"bigquery\") \\\n", + " .option(\"writeMethod\", \"direct\") \\\n", + " .mode(\"overwrite\") \\\n", + " .save(\"data_dash.races\") " + ] } ], "metadata": { + "environment": { + "kernel": "2b83046ad558e9d14656e6aa-python3", + "name": "workbench-notebooks.m122", + "type": "gcloud", + "uri": "us-docker.pkg.dev/deeplearning-platform-release/gcr.io/workbench-notebooks:m122" + }, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 on io2024 (Remote)", "language": "python", - "name": "python3" + "name": "2b83046ad558e9d14656e6aa-python3" }, "language_info": { "codemirror_mode": {