Hi, Fletcher.
case class can help construct complex structure.
and also, RDD, StructType and StructureField are helpful if you need.
However,
the code is a little confusing,
source.map{ row => {
val key = row(0)
val buff = new ArrayBuffer[Row]()
buff += row
(key,buff)
}
}
The expected result is (row[0], row), right?
Would you like to explain its purpose?
On Sun, Feb 26, 2017 at 8:36 PM, Stephen Fletcher <
stephen.fletc...@gmail.com> wrote:
> sorry here's the whole code
>
> val source = spark.read.format("parquet").load("/emrdata/sources/very_lar
> ge_ds")
>
> implicit val mapEncoder = org.apache.spark.sql.Encoders.
> kryo[(Any,ArrayBuffer[Row])]
>
> source.map{ row => {
> val key = row(0)
> val buff = new ArrayBuffer[Row]()
> buff += row
> (key,buff)
>}
> }
>
> ...
>
> On Sun, Feb 26, 2017 at 7:31 AM, Stephen Fletcher <
> stephen.fletc...@gmail.com> wrote:
>
>> I'm attempting to perform a map on a Dataset[Row] but getting an error on
>> decode when attempting to pass a custom encoder.
>> My code looks similar to the following:
>>
>>
>> val source = spark.read.format("parquet").load("/emrdata/sources/very_lar
>> ge_ds")
>>
>>
>>
>> source.map{ row => {
>> val key = row(0)
>>
>>}
>> }
>>
>
>