Instead of redistributing the same dependency libs like spark-core and so on, Ignite package should be requiring Bigtop's spark package to be installed and then use its libraries directly. This along will lead to reduction of the Ignite package by about 30%
Perhaps, even better approach is break Ignite package into a number of smaller ones specific for different integration points like Flink, Cassandra, etc. And those packages would be either
- bringing the needed dependencies along for things that Bigtop doesn't provide (like Cassandra for instance)
- having direct dependencies on the Bigtop packages where possible.
The second approach would make more sense when we start delivering the full functionality of the Ignite, not being limited to the Bigdata accelerators like right now.