【发布时间】:2021-02-19 10:55:46
【问题描述】:
我在 HDFS 上有 2 个压缩的 jsons 文件 (bz2)。我必须在 Spark 中加载它们。为此,我首先启动了 pyspark (shell),然后为此执行以下查询:
>> df = spark.read.load("hdfs://master:9000/data/db1/file_part*.bz2", format="json", sep=",", inferSchema="true")
[Stage 0:> (8 + 4) / 503]
可以看出它正在加载数据。为什么会这样。据我所知,spark 在动作之前不执行任何操作(因为它是惰性的),那么在这种情况下有 503 个阶段。我必须创建一个数据框,然后转换为 tempView。在此使用 SQL 之后,执行一些 SQL 操作。就我而言,几乎所有设置都是默认设置。
其余部分数据处理如下:
df.createOrReplaceTempView("view1")
sqlContext.sql("select count(distinct(id)) from view1").show()
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql