我的Spark表未返回任何结果

问题描述 投票:0回答:1

我在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语句中显示的结果。我也知道csv中这些特定字段的索引是正确的,所以我想知道是否有些东西我完全丢失了。

apache-spark pyspark pyspark-sql pyspark-dataframes
1个回答
0
投票

似乎您没有启动SparkSession。代替

spark.stop()

您应该选择start您的查询和awaitTermination

© www.soinside.com 2019 - 2024. All rights reserved.