Thanks Michael for a prompt response! All you said make sense (glad to
have received it from the most trusted source!)

spark.read.format("michael").option("header", true).write("notes.adoc")

:-)

Pozdrawiam,
Jacek Laskowski
----
https://medium.com/@jaceklaskowski/
Mastering Apache Spark 2.0 http://bit.ly/mastering-apache-spark
Follow me at https://twitter.com/jaceklaskowski


On Sun, Aug 14, 2016 at 9:36 AM, Michael Armbrust
<mich...@databricks.com> wrote:
> There are two type systems in play here.  Spark SQL's and Scala's.
>
> From the Scala side, this is type-safe.  After calling as[String]the Dataset
> will only return Strings. It is impossible to ever get a class cast
> exception unless you do your own incorrect casting after the fact.
>
> Underneath the covers, calling as[String] will cause Spark SQL to implicitly
> insert an "upcast".  An upcast will automatically perform safe (lossless)
> casts (i.e., Int -> Long, Number -> String).  In the case where there is no
> safe conversion, we'll throw an AnalysisException and require you to
> explicitly do the conversion.  This upcasting happens when you specify a
> primitive type or when you specify a more complicated class that is mapping
> multiple columns to fields.
>
> On Sat, Aug 13, 2016 at 1:17 PM, Jacek Laskowski <ja...@japila.pl> wrote:
>>
>> Hi,
>>
>> Just ran into it and can't explain why it works. Please help me understand
>> it.
>>
>> Q1: Why can I `as[String]` with Ints? Is this type safe?
>>
>> scala> (0 to 9).toDF("num").as[String]
>> res12: org.apache.spark.sql.Dataset[String] = [num: int]
>>
>> Q2: Why can I map over strings even though there are really ints?
>>
>> scala> (0 to 9).toDF("num").as[String].map(_.toUpperCase)
>> res11: org.apache.spark.sql.Dataset[String] = [value: string]
>>
>> Why are the two lines possible?
>>
>> Pozdrawiam,
>> Jacek Laskowski
>> ----
>> https://medium.com/@jaceklaskowski/
>> Mastering Apache Spark 2.0 http://bit.ly/mastering-apache-spark
>> Follow me at https://twitter.com/jaceklaskowski
>>
>> ---------------------------------------------------------------------
>> To unsubscribe e-mail: user-unsubscr...@spark.apache.org
>>
>

---------------------------------------------------------------------
To unsubscribe e-mail: user-unsubscr...@spark.apache.org

Reply via email to