Я создал фрейм данных в Python для Spark, и я не могу понять, почему он не возвращает никаких результатов. Работа выполняется без ошибок, но не выводится, и я трижды проверил свои каталоги и все такое, поэтому я знаю, что это не так. Вот мой код:
from pyspark.sql import SparkSession
from pyspark.sql import Row
import collections
spark = SparkSession.builder.config("spark.sql.warehouse.dir",
"file:///C:/temp").appName("YouTubeVideos").getOrCreate()
def mapper(line):
fields = line.split(',')
return Row(title=str(fields[1].encode("utf-8")), views=int(fields[5]))
lines = spark.sparkContext.textFile("file:///YouTubeData/USvideos.csv")
vidViews = lines.map(mapper)
schemaViews = spark.createDataFrame(vidViews).cache()
schemaViews.createOrReplaceTempView("vidViews")
mostPopular = spark.sql("SELECT * FROM vidViews WHERE views > 10")
for i in mostPopular.collect():
print(i)
schemaViews.groupBy("title").count().orderBy("views").show()
spark.stop()
Я пытаюсь извлечь заголовок видео и количество просмотров из файла csv, а затем отобразить результаты, показанные в операторе SQL в приведенном выше коде. Я также знаю, что индексы для этих указанных c полей из csv верны, поэтому мне интересно, есть ли что-то, чего я просто полностью пропускаю.