criteo / scala-schemas

use scala classes as schema definition across different systems
3 stars 4 forks source link

parquetTupleConverter not working for List and Options #5

Open jbkt opened 6 years ago

jbkt commented 6 years ago

If try to compile this test: `"ParquetMacros" should {

import ParquetMacros._

"parse a class into a Parquet tuple converter" in {
  implicit val complexSchemaSupport = messageTypeFor[ParquetComplexType]
  implicit val complexWriteSupport = writeRecordFor[ParquetComplexType]

  val converter = parquetTupleConverterFor[ParquetSchemaSupportTestType]

  converter.toString shouldEqual "something".stripMargin
}

}`

it will fail: [error] /home/jb.catte/workspace/scala-schemas/scalding/src/test/scala/com/criteo/scalaschemas/scalding/parquet/ParquetMacrosSpec.scala:58:47: could not find implicit value for parameter e: com.criteo.scalaschemas.scalding.parquet.StrictConverterProvider[List[Long]] [error] val converter = parquetTupleConverterFor[ParquetSchemaSupportTestType] [error] ^

jbkt commented 6 years ago

When removing the list field from ParquetSchemaSupportTestType: [error] /home/jb.catte/workspace/scala-schemas/scalding/src/test/scala/com/criteo/scalaschemas/scalding/parquet/ParquetMacrosSpec.scala:58:47: could not find implicit value for parameter e: com.criteo.scalaschemas.scalding.parquet.StrictConverterProvider[Option[Int]] [error] val converter = parquetTupleConverterFor[ParquetSchemaSupportTestType] [error] ^