Pyspark: "ImportError: невозможно импортировать имя 'st_makePoint' - PullRequest
0 голосов
/ 02 августа 2020

Я пытаюсь ввести данные в базу данных postgresql с помощью pyspark. В таблице postre sql есть одно поле, которое определено как тип данных GEOGRAPHY (Point). Я написал ниже код pyspark для создания этого поля с использованием долготы и широты

from pyspark.sql.functions import st_makePoint
df = (Load input file into pyspark dataframe)
df = df.withColumn("Location", st_makePoint(col("Longitude"), col("Latitude")))
Next step is load the data into postgresql

Но я получаю сообщение об ошибке

"ImportError: cannot import name 'st_makePoint'

Я думаю, что st_makePoint является частью pyspark. sql. функция. Не уверен, почему это дает ошибку. Пожалуйста помоги. Также, если есть лучший способ ввести поле География (точка) в postgresql из pyspark, дайте мне знать

1 Ответ

1 голос
/ 02 августа 2020

проверьте это документация из geo-mesa

Регистрация определяемых пользователем типов и функций может выполняться вручную, вызывая geomesa_pyspark.init_sql() на объекте сеанса Spark:

import geomesa_pyspark
geomesa_pyspark.init_sql(spark)

Затем вы можете использовать st_mkPoint

...