Как написать структурированный поток на S3? - PullRequest
0 голосов
/ 26 августа 2018

Я искал, как записать результаты структурированного потока в s3, но не смог найти способ сделать это. Я попробовал несколько вариантов, но каждый из них привел с различной ошибкой. Вот что я хочу сделать:

  • Чтение потока в формате csv
  • Сократите его до 2-3 строк результатов, содержащих средние значения в группе. Как это:

    groupA, 15000
    groupB, 10000
    
  • Затем запишите эти результаты в корзину s3 в одном файле, возможно, перезаписав по мере поступления новых входных потоков. Поэтому я попытался сделать так:

    query.writeStream
    .format("text")
    .option("path", s3n://...")
    .outputMode("complete")
    ... 
    

Но это не сработало, Спарк пожаловался, что текстовый формат не может быть в режиме полного вывода. Но разве полный режим не единственный вариант, который может дать мне результаты, которые я хочу? Я также попробовал с режимом добавления, но затем spark пожаловался, что у меня есть агрегаты и что у меня должен быть водяной знак. Но разве водяной знак не имеет отношения к моей проблеме, потому что у меня нет меток времени в моем csv?

...