[Spark SQL] Catalyst ScalaReflection/ExpressionEncoder fail with relocated (shaded) classes
I'm trying to compile google's timestamp.proto protobuf to a scala case
class and use it as a field in another proto-derived case class as part of a
larger dataset schema.
(Although the SQL date type might be preferred in a schema, I encountered
this problem when I attempted to use Timestamp for compatibility with some
To avoid the usual "spark/hadoop provide protobuf packages which conflict
with user code" problem, I relocated the com.google.protobuf.timestamp
package in my uberjar with the gradle-shadow plugin.
Unfortunately, this leads to a somewhat cryptic error message referencing
the original package name at runtime: