Результаты нечеткого сопоставления не совпадают между Jupyter Notebook и PySpark Interactive режимом - PullRequest
0 голосов
/ 29 мая 2020

Я работаю над алгоритмом нечеткого сопоставления, как показано ниже:

from pyspark.ml import Pipeline
from pyspark.ml.feature import RegexTokenizer, NGram, HashingTF, MinHashLSH

master = spark.sql("""
                  Select 
                  496 as ID
                 ,'DR VALERY KUZNETSOV CARDIOLOGIST PC' as Name

        """)

sample = spark.sql("""
Select
             496 as ID
             ,'DR VALERY KUZNETSOV CARDIOLOGIST PC' as Name   
             union all
             select
             496 as ID
             ,'VALERY KUZNETSOV' as Name  


        """)

model1 = Pipeline(stages=[
    RegexTokenizer(
        pattern="", inputCol="Name", outputCol="tokens", minTokenLength=1
    ),
    NGram(n=1, inputCol="tokens", outputCol="ngrams"),
    HashingTF(inputCol="ngrams", outputCol="vectors"),
    MinHashLSH(inputCol="vectors", outputCol="lsh")
]).fit(master)

master_hashed = model1.transform(master)
sample_hashed = model1.transform(sample)

modelOutput1=model1.stages[-1].approxSimilarityJoin(master_hashed, sample_hashed, 1.0)

modelOutput1.show()

, когда я запускаю указанное выше в Jupyter Notebook, я получаю результат ниже:

+--------------------+--------------------+-------------------+
|            datasetA|            datasetB|            distCol|
+--------------------+--------------------+-------------------+
|[496, DR VALERY K...|[496, VALERY KUZN...|0.26315789473684215|
|[496, DR VALERY K...|[496, DR VALERY K...|                0.0|
+--------------------+--------------------+-------------------+

но когда Я запускаю приведенный выше код в интерактивном режиме PySpark в кластере, он показывает мне только 1 строку в выводе, как показано ниже:

+--------------------+--------------------+-------+
|            datasetA|            datasetB|distCol|
+--------------------+--------------------+-------+
|[496, DR VALERY K...|[496, DR VALERY K...|    0.0|
+--------------------+--------------------+-------+

Встречал ли кто-нибудь что-нибудь подобное / что было бы лучшим способом остановить этого не произошло?

...