该命令如何工作?

时间:2018-12-30 19:41:27

标签: python pyspark pyspark-sql

对不起,我是python的新手。在学习pyspark时,我遇到了这样的命令

sc = SparkSession.builder.config("spark.sql.warehouse.dir", "file:///C:/temp").appName("SparkSQL").getOrCreate()

我的怀疑是非常基本的,我只想知道在上面的语句中多次使用点运算符。据我所知,当函数位于多个包级别时,将多次使用点运算符

packagemain.subpackage1.subpackage2.function()

但是在上面的语句中,“ SparkSession”似乎是一个类,而“ sc”是一个对象,其他则可能是函数。我只想知道它们如何通过点运算符链接在一起?系统如何解释上述声明?

2 个答案:

答案 0 :(得分:1)

一个火花配置文件是一系列键:值,用空格分隔,例如:https://spark.apache.org/docs/latest/configuration.html

.config("spark.sql.warehouse.dir", "file:///C:/temp")

引用一个配置对象,该配置对象是从被引用的文件中构建的,并在其中查找名为spark.sql.warehouse.dir的键。

这只是一个字符串(或更具体地说,是配置文件中键的名称),与导入或类似内容无关。

答案 1 :(得分:0)

它从SparkSession获取构建器。从该构建器中,它使用参数调用config。这将返回一些配置,然后使用下一个参数调用appName函数。然后从中调用getOrCreate()函数。 基本上,它返回点之前的调用值,然后在该点上评估点代码。