Я не могу использовать фильтр для фрейма данных.я продолжаю получать сообщение об ошибке "TypeError (" условие должно быть строкой или столбцом ")"
Я попытался изменить фильтр для использования объекта col.Тем не менее, это не работает.
path = 'dbfs:/FileStore/tables/TravelData.txt'
data = spark.read.text(path)
from pyspark.sql.types import StructType, StructField, IntegerType , StringType, DoubleType
schema = StructType([
StructField("fromLocation", StringType(), True),
StructField("toLocation", StringType(), True),
StructField("productType", IntegerType(), True)
])
df = spark.read.option("delimiter", "\t").csv(path, header=False, schema=schema)
from pyspark.sql.functions import col
answerthree = df.select("toLocation").groupBy("toLocation").count().sort("count", ascending=False).take(10) # works fine
display(answerthree)
Я добавляю фильтр к переменной "answerthree" следующим образом:
answerthree = df.select("toLocation").groupBy("toLocation").count().filter(col("productType")==1).sort("count", ascending=False).take(10)
Выдает ошибку следующим образом: "" не удается разрешить "productType
'заданные входные столбцы "" условие должно быть строкой или столбцом "
В jist я пытаюсь решить проблему 3, приведенную в приведенной ниже ссылке, используя pyspark вместо scal. Набор данных также представлен в приведенном ниже URL. https://acadgild.com/blog/spark-use-case-travel-data-analysis?fbclid=IwAR0fgLr-8aHVBsSO_yWNzeyh7CoiGraFEGddahDmDixic6wmumFwUlLgQ2c
Я смогу получить желаемый результат только для значения productType 1