Я использую scalding
0.12
версия с TypedPipe
. Я хочу написать вывод csv
с заголовками. Как я могу добавить заголовки с этим, я вижу опцию `writeHeader = истина/ложь», но как я обеспечиваю заголовки.Добавление заголовков в TypedPipe
ответ
.WRITE (Tsv („bcd.tsv“, схемы, writeHeader = истина ?))
вы ищете что-то вроде этого
Я пробовал это. Но не смог получить соответствующие заголовки. Можете ли вы предоставить немного больше деталей. –
Использование безопасной 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")))
Я просто понял, что вы спрашивали о csv ... К счастью, это одно и то же! TypedSeperatedFile содержит также TypedCsv (и другие). – Gevorg
Есть ли у вас код для публикации? По крайней мере, часть, которая записывает вывод в 'csv'? –
Код не так много для обмена 'TypedCsvWithHeader [String] (outputString)', этот 'TypedCsvWithHeader' просто имеет' writeHeader = true' –
Каков фактический и ожидаемый результат? Совместное использование (даже небольшой фрагмент кода, а также фактические и ожидаемые результаты) значительно облегчает ответ другим, не делая много предположений. –