A correspondência de strings é uma tarefa fundamental no processamento de dados, mas pode se tornar um desafio ao lidar com grandes conjuntos de dados no Apache Spark. Este artigo explora algoritmos eficientes para correspondência de strings no Spark, abordando problemas comuns como substituições de caracteres, espaços ausentes e extração de emojis.
Embora o Apache Spark possa não ser a plataforma ideal para correspondência de strings, ele oferece diversas técnicas para executar esta tarefa:
Para combinar strings usando essas técnicas no 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
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3