2015-03-04 2 views
1

Я использую scalding0.12 версия с TypedPipe. Я хочу написать вывод csv с заголовками. Как я могу добавить заголовки с этим, я вижу опцию `writeHeader = истина/ложь», но как я обеспечиваю заголовки.Добавление заголовков в TypedPipe

+0

Есть ли у вас код для публикации? По крайней мере, часть, которая записывает вывод в 'csv'? –

+0

Код не так много для обмена 'TypedCsvWithHeader [String] (outputString)', этот 'TypedCsvWithHeader' просто имеет' writeHeader = true' –

+1

Каков фактический и ожидаемый результат? Совместное использование (даже небольшой фрагмент кода, а также фактические и ожидаемые результаты) значительно облегчает ответ другим, не делая много предположений. –

ответ

0

.WRITE (Tsv („bcd.tsv“, схемы, writeHeader = истина ?))

вы ищете что-то вроде этого

+0

Я пробовал это. Но не смог получить соответствующие заголовки. Можете ли вы предоставить немного больше деталей. –

0

Использование безопасной 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"))) 
+0

Я просто понял, что вы спрашивали о csv ... К счастью, это одно и то же! TypedSeperatedFile содержит также TypedCsv (и другие). – Gevorg

Смежные вопросы