# I want to run a spark shell with the Hail JAR on Google Dataproc, but I get errors

**URL:** https://discuss.hail.is/t/i-want-to-run-a-spark-shell-with-the-hail-jar-on-google-dataproc-but-i-get-errors/219
**Category:** Help \[0.1\]
**Created:** [May 17, 2017, 6:42pm UTC](https://discuss.hail.is/t/i-want-to-run-a-spark-shell-with-the-hail-jar-on-google-dataproc-but-i-get-errors/219 "2017-05-17T18:42:14Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![danking](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.hail.is/danking/32/43_2.png) [@danking](https://discuss.hail.is/u/danking)
#### Post date: [May 17, 2017, 6:45pm UTC](https://discuss.hail.is/t/i-want-to-run-a-spark-shell-with-the-hail-jar-on-google-dataproc-but-i-get-errors/219/2 "2017-05-17T18:45:20Z")

</div>

Hi there,

Yeah, this is pretty confusing. `spark-shell --help` says:

```markdown
  --jars JARS Comma-separated list of local jars to include on the driver
                              and executor classpaths.

```

But, apparently, this _does not_ include the local jars on the driver and executor class paths. You have to explicitly add the JARs to the class paths using these properties:

```auto
spark-shell --jars './hail.jar' \
  --conf='spark.sql.files.openCostInBytes=53687091200' \
  --conf='spark.sql.files.maxPartitionBytes=53687091200' \
  --conf='spark.driver.extraClassPath=./hail.jar' \
  --conf='spark.executor.extraClassPath=./hail.jar'

```

NB: It is important to note that the JARs are copied to the working directory of the executors, _but are not copied to the working directory of the driver_. Usually, the `spark.driver.extraClassPath` will be the same path you passed to `--jars` whereas `spark.executor.extraClassPath` _must_ be a relative path.

* * *

This error sometimes manifests as:

```auto
ClassNotFoundException: is.hail.utils.SerializableHadoopConfiguration

```

---

_[View the full topic](https://discuss.hail.is/t/i-want-to-run-a-spark-shell-with-the-hail-jar-on-google-dataproc-but-i-get-errors/219)._
