De los documentos de transmisión estructurada de chispa, las operaciones no admitidas contienen eso
No se admiten distintas operaciones en conjuntos de datos de transmisión.
Sin embargo, hay un distinct()
método en la API y también puedo llamar distinct()
después de transmitir DateSet.
Dataset<Tuple2<Timestamp, String>> dropStream = spark
.readStream()
.option("sep", ",")
.schema(userSchema) // Specify schema of the csv files
.csv("xxx\\path")
.selectExpr("to_timestamp(event_time,'yyyy-MM-dd HH:mm:ss') as event_time","id as id")
.as(Encoders.tuple(Encoders.TIMESTAMP(), Encoders.STRING()));
Dataset<Tuple2<Timestamp, String>> dropDuplicatesStream = dropStream.distinct();
// Start running the query that prints the running counts to the console
StreamingQuery query = dropDuplicatesStream.writeStream()
.outputMode("append")
.format("console")
.start();
asi que? ¿Qué pasa cuando entiendo distinct
?
Solución del problema
Algunas operaciones de marcos de datos no se pueden admitir con Spark Structured Streaming, por ejemplo, distinción, clasificación, etc., ya que para esas transformaciones Spark necesitaría almacenar todos los datos en la memoria.
No hay comentarios.:
Publicar un comentario