La comparación de cadenas es una tarea fundamental en el procesamiento de datos, pero puede convertirse en un desafío cuando se trata de grandes conjuntos de datos en Apache Spark. Este artículo explora algoritmos eficientes para la coincidencia de cadenas en Spark, abordando problemas comunes como sustituciones de caracteres, espacios faltantes y extracción de emoji.
Aunque Apache Spark puede no ser la plataforma ideal para coincidencia de cadenas, ofrece varias técnicas para realizar esta tarea:
Para unir cadenas usando estas técnicas en Spark:
import org.apache.spark.ml.feature.{RegexTokenizer, NGram, Vectorizer, MinHashLSH}
import org.apache.spark.ml.Pipeline
val pipeline = new Pipeline().setStages(Array(
new RegexTokenizer(),
new NGram(),
new Vectorizer(),
new MinHashLSH()
))
val model = pipeline.fit(db)
val dbHashed = model.transform(db)
val queryHashed = model.transform(query)
model.stages.last.asInstanceOf[MinHashLSHModel].approxSimilarityJoin(dbHashed, queryHashed).show
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3