scala - 如何使 Scala 类 Hadoop 可写?

标签 scala serialization hadoop apache-spark

我有一个 Scala 类:

class Features (
  val count: Int = 1,
  val firstTime: Long = Long.MaxValue,
  val lastTime: Long = Long.MinValue)

保存在以字符串为键的 Spark 对 RDD 中:

val features: org.apache.spark.rdd.RDD[(String, features.Features)]

我想用类似的东西保存内容:

features.saveAsSequenceFile(path)

但是 Features 类没有实现 org.apache.hadoop.io.Writable,我不知道如何实现它。没有它,我得到的错误是:

No implicit view available from features.Features => org.apache.hadoop.io.Writable.

如何使功能 Hadoop 可写?

最佳答案

您应该在您的类中实现Writable 接口(interface)。一般有两种方式:

  1. 在你的案例类中实现可写

  2. 实现类型类并为其提供隐式转换

关于scala - 如何使 Scala 类 Hadoop 可写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23879257/

相关文章:

hadoop - 本地HDFS访问应该更快吗?

java - 带有--map-column-java的oozie sqoop Action

scala - Spark Scala过滤器DataFrame,其中值不在另一个DataFrame中

scala - Netty SslHandler 头痛

scala - 如何以 DRY 方式过滤/禁用 SBT 中所有子项目的 scalac 选项

Java序列化,它是自动的吗?

java - 如何序列化 BigDecimal 以与 jackson 映射值?

scala - 在 Scala 中传递惰性参数有什么帮助吗?

c# - 从自己的 AppDomain 中的单元测试启动 WPF 应用程序

hadoop - org.apache.hadoop.mapred.TaskTracker:运行子级错误:java.lang.OutOfMemoryError:Java堆空间