GitHub user ceedubs opened a pull request:
https://github.com/apache/spark/pull/20869
Improve implicitNotFound message for Encoder
The `implicitNotFound` message for `Encoder` doesn't mention the name of
the type for which it can't find an encoder. Furthermore, it covers up
the fact that `Encoder` is the name of the relevant type class.
Hopefully this new message provides a little more specific type detail
while still giving the general message about which types are supported.
## What changes were proposed in this pull request?
Augment the existing message to mention that it's looking for an `Encoder`
and what the type of the encoder is.
For example instead of:
```
Unable to find encoder for type stored in a Dataset. Primitive types (Int,
String, etc) and Product types (case classes) are supported by importing
spark.implicits._ Support for serializing other types will be added in future
releases.
```
return this message:
```
Unable to find encoder for type Exception. An implicit Encoder[Exception]
is needed to store Exception instances in a Dataset. Primitive types (Int,
String, etc) and Product types (ca
se classes) are supported by importing spark.implicits._ Support for
serializing other types will be added in future releases.
```
## How was this patch tested?
It was tested manually in the Scala REPL, since triggering this in a test
would cause a compilation error.
```
scala> implicitly[Encoder[Exception]]
<console>:51: error: Unable to find encoder for type Exception. An implicit
Encoder[Exception] is needed to store Exception instances in a Dataset.
Primitive types (Int, String, etc) and Product types (ca
se classes) are supported by importing spark.implicits._ Support for
serializing other types will be added in future releases.
implicitly[Encoder[Exception]]
^
```
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ceedubs/spark encoder-implicit-msg
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/spark/pull/20869.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #20869
----
commit 588dffc51df53bcbb885305e8ecd5bf39aa2e465
Author: Cody Allen <ceedubs@...>
Date: 2018-03-21T01:05:02Z
Improve implicitNotFound message for Encoder
The `implicitNotFound` message for `Encoder` doesn't mention the name of
the type for which it can't find an encoder. Furthermore, it covers up
the fact that `Encoder` is the name of the relevant type class.
Hopefully this new message provides a little more specific type detail
while still giving the general message about which types are supported.
----
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]