Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/3015 @felixcheung AFAIK, in `yarn-client` mode, a job is created from scripts and added dependencies when making the job from a driver. Thus those jars are propagated to executors. In case of `yarn-cluster` mode, all dependencies would be passed to one of the nodes of yarn cluster, and then make the job. But, Spark wouldn't have those dependencies as it's not copied to the node where the job would be making.
---