You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by GitBox <gi...@apache.org> on 2019/03/25 09:08:42 UTC
[GitHub] [spark] HeartSaVioR edited a comment on issue #21339:
[SPARK-24287][Core] Spark -packages option should support classifier,
no-transitive, and custom conf
HeartSaVioR edited a comment on issue #21339: [SPARK-24287][Core] Spark -packages option should support classifier, no-transitive, and custom conf
URL: https://github.com/apache/spark/pull/21339#issuecomment-476107562
I've pulled this patch and played with functionalities, and works well.
I've used hive-exec which has default classifier as well as `core` classifier: hive-exec with default classifier includes some dependencies into jar (`org.json:json` is included) which `core` classifier contains it as dependency (not included in jar).
> ./bin/spark-shell
```
scala> import org.json.JSON
<console>:24: error: object json is not a member of package org
import org.json.JSON
```
Not able to load since it's not in default Spark classpath. (expected)
> ./bin/spark-shell --packages "org.apache.hive:hive-exec:3.1.1?classifier=core"
```
scala> import org.json.JSON
import org.json.JSON
```
With classifier it properly loads it as transitive dependencies. (works well)
> ./bin/spark-shell --packages "org.apache.hive:hive-exec:3.1.1?classifier=core&transitive=false"
```
scala> import org.json.JSON
<console>:23: error: object json is not a member of package org
import org.json.JSON
```
It ignores whole transitive dependencies, hence `org.json:json` is not pulled. (works well)
> ./bin/spark-shell --packages "org.apache.hive:hive-exec:3.1.1?classifier=core&exclude=json"
```
scala> import org.json.JSON
<console>:23: error: object json is not a member of package org
import org.json.JSON
```
It excludes `org.json:json` from transitive dependencies. (works well)
> ./bin/spark-shell --packages "org.apache.hive:hive-exec:3.1.1"
```
scala> import org.json.JSON
import org.json.JSON
```
The jar itself contains `org.json:json` so should be able to load. (This represents classifier works as expected.)
> ./bin/spark-shell --packages "org.apache.hive:hive-exec:3.1.1?exclude=json"
```
scala> import org.json.JSON
import org.json.JSON
```
Even we exclude `org.json:json` it's still able to load, since the jar contains it. (This represents classifier works as expected.)
FYI I had to fix scalastyle before building. I'll start reviewing the code and leave comments.
cc. @srowen @gaborgsomogyi You might be interested on this PR.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org