代码之家  ›  专栏  ›  技术社区  ›  alexanoid

从多列数据帧批量写入Kafka主题

  •  0
  • alexanoid  · 技术社区  · 7 年前

    批处理之后,Spark ETL我需要将包含多个不同列的结果数据帧写入Kafka主题。

    根据以下Spark文档 https://spark.apache.org/docs/2.2.0/structured-streaming-kafka-integration.html 正在写入Kafka的数据帧在架构中应具有以下必填列:

    值(必需)字符串或二进制

    正如我前面提到的,我有更多的带有值的列,所以我有一个问题-如何从Spark应用程序将整个DataFrame行作为单个消息正确地发送到Kafka topic?我是否需要将所有列中的所有值连接到具有单个值列(将包含连接的值)的新DataFrame中,或者有更合适的方法来实现它?

    1 回复  |  直到 7 年前
        1
  •  4
  •   alexanoid    7 年前

    文档中已经暗示了正确的方法,与您使用任何Kafka客户端所做的操作没有什么区别-您必须在发送到Kafka之前序列化有效负载。

    你会怎么做( to_json , to_csv , Apache Avro

    推荐文章