locationtech / locationtech/geomesa

Spark - 'cache' option requires extra classpath dependencies

Open
#6,433 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Scala
Stars
1.5k
Forks
446
Avg merge
1d 8h
Merged PRs (30d)
31

Description

Spark - 'cache' option requires extra classpath dependencies

When using: spark.read.option("cache", "true")...
You get: IllegalArgumentException: Cache argument set to true but GeoCQEngineDataStore is not on the classpath

The geomesa-cqengine-datastore_2.11 module needs to be bundled in the various spark-runtime jars for the cache option to work. However, it has always been marked 'provided' - is there a reason for that? Possibly documenting the classpath setup would be sufficient.


Original JIRA Issue: https://geomesa.atlassian.net/browse/GEOMESA-2602

Key: GEOMESA-2602
Type: Bug
Priority: Major
Status: To Do
Resolution: Unresolved
Reporter: Emilio Lahr-Vivaz
Created: Wed, 10 Apr 2019 11:08:43 -0400
Updated: Wed, 10 Apr 2019 16:23:17 -0400
Affects Version(s): 2.0.0, 2.1.0, 2.0.1, 2.0.2, 2.2.0, 2.1.1, 2.3.0, 2.1.2, 2.2.1, 2.2.2, 2.1.3


Comments:

557058:da7f6dfa-f0a1-468b-aec5-2cb61273feb5 (Wed, 10 Apr 2019 16:23:17 -0400):

Adding the geomesa-cqengine-datastore_2.11 to the spark classpath did allow the functionality to work, seemingly. Although large queries died, likely due to memory exhaustion.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the dependency declarations for the various spark-runtime jars and the geomesa-cqengine-datastore_2.11 module. Reproduce spark.read.option("cache", "true") and verify whether the required class is available; done means the cache option works with the runtime jars or the required classpath setup is clearly documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
build-system, data-engineering
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.