#apache-spark #elasticsearch #pyspark
Вопрос:
У меня есть фрейм данных, и я хочу выполнить поиск в индексе elasticsearch, чтобы вернуть значение (идентификатор).
Я хочу выполнить поиск в каждой строке, основываясь на столбце «имя».
Я пытаюсь сделать udf для передачи клиентского объекта в качестве широковещательного, но это не работает. Это проходило как str. Возможно ли какое-то решение? Я использую пакет opensearch.
def udf_elastic(client, index, ratio): return udf(lambda l: udf_get_id(client, index) def get_udf_result(df, client, index_name): df= df.withColumn('id', udf_elastic(client, index_name)(col("name"))) return df
udf_get_id-это функция, когда я выполняю эластичный поиск.
response = client.search( body=query, index=index_name )
И ошибка в том, что:
response = client.search( AttributeError: 'str' object has no attribute 'search'