我正在使用scalding
0.12
带有TypedPipe
. 我想csv
用标题将输出写入。我如何添加标题,我看到了“writeHeader=true/false”的选项,但我如何提供标题。
问问题
413 次
2 回答
1
使用类型安全 api,我使用以下代码编写 TSV 文件:
val data: TypedPipe[String, String] = ...
data.write(TypedTsv[(String, String)](outputPath))
TypedPipe
在TypedSeperatedFile
类中定义。看一下源代码:
trait TypedSeperatedFile extends Serializable {
def separator: String
def skipHeader: Boolean = false
def writeHeader: Boolean = false
def apply[T: Manifest: TupleConverter: TupleSetter](path: String): FixedPathTypedDelimited[T] =
apply(Seq(path))
def apply[T: Manifest: TupleConverter: TupleSetter](path: String, f: Fields): FixedPathTypedDelimited[T] =
apply(Seq(path), f)
// others apply method
}
object TypedTsv extends TypedSeperatedFile {
val separator = "\t"
}
编写带有标头的 TSV 的一种方法是实现您自己的扩展TypedSeperatedFile
类的对象:
object TypedTsvWithHeader extends TypedSeperatedFile {
val separator = "\t"
override val writeHeader = true
}
然后,您可以按以下方式使用它:
data.write(TypedTsvWithHeader[(String, String)](outputPath,
List("header1", "header2")))
于 2017-08-02T14:44:39.000 回答
0
.write(Tsv("bcd.tsv", 架构, writeHeader = true))
你在找这样的东西吗?
于 2015-03-13T20:31:07.803 回答