sql >> Databasteknik >  >> NoSQL >> MongoDB

Det går inte att skicka data till MongoDB med Kafka-Spark Structured Streaming

Enligt felet har du redan en sträng, (du gjorde redan df.selectExpr("CAST(value AS STRING)") ), så du bör försöka hämta Row-händelsen som en String , och inte en Array[Byte]

Börja med att ändra

val valueStr = new String(record.getAs[Array[Byte]]("value"))

till

val valueStr = record.getAs[String]("value")

Jag förstår att du kanske redan har ett kluster för att köra Spark-kod, men jag skulle föreslå att du fortfarande tittar på Kafka Connect Mongo Sink Connector så att du inte behöver skriva och underhålla din egen Mongo-skrivare i Spark-kod.

Eller så kan du skriva Spark-datauppsättningar direkt till mongo också




  1. Redis sub/pub och php/nodejs

  2. MongooseError:Du kan inte `mongoose.connect()` flera gånger medan du är ansluten

  3. Låsning och Redis

  4. Mongooses standard löftesbibliotek är utfasat i MEAN-stacken