Как написать структурированный поток в S3?

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

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

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

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

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

0 ответов

Другие вопросы по тегам