问题描述
我有很多桌子,我需要将它们保存为实木复合地板格式。我试图使用这个lib https://github.com/mjakubowski84/parquet4s并最终遇到问题。
[error] found : akka.stream.scaladsl.Sink[shapeless.HNil,scala.concurrent.Future[akka.Done]]
[error] required: akka.stream.Graph[akka.stream.SinkShape[Product with Serializable],?]
可以遍历列表与表吗?
import com.github.mjakubowski84.parquet4s.{ParquetStreams,ParquetWriter}
import akka.actor.ActorSystem
import akka.stream.{ActorMaterializer,Materializer}
import akka.stream.scaladsl.source
import scala.concurrent.Await
import scala.concurrent.duration._
object Main extends App {
case class Table1(Id: Int,name: String)
case class Table2(Id: Int,age: Option[Int])
val table1_entities = List(Table1(1,"Foo"))
val table2_entities = List(Table2(2,Some(9999)))
//assume here is a lot of tables
val all_tables = List(
("file:///tmp/table1.parquet",table1_entities),("file:///tmp/table2.parquet",table2_entities)
)
implicit val system: ActorSystem = ActorSystem()
implicit val materializer: Materializer = ActorMaterializer()
//for single tables it works perfectly
//val future = Source(table1_entities).runWith(ParquetStreams.toParquetSingleFile(path = "file:///tmp/table1.parquet"))
//Await.result(future,2.second)
all_tables.foreach{
case (path,table) => {
val future = Source(table).runWith(ParquetStreams.toParquetSingleFile(path = path))
Await.result(future,2.second)
}
}
}```
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)