对不起,我是python的新手。在学习pyspark时,我遇到了这样的命令
sc = SparkSession.builder.config("spark.sql.warehouse.dir", "file:///C:/temp").appName("SparkSQL").getOrCreate()
我的怀疑是非常基本的,我只想知道在上面的语句中多次使用点运算符。据我所知,当函数位于多个包级别时,将多次使用点运算符
packagemain.subpackage1.subpackage2.function()
但是在上面的语句中,“ SparkSession”似乎是一个类,而“ sc”是一个对象,其他则可能是函数。我只想知道它们如何通过点运算符链接在一起?系统如何解释上述声明?
答案 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()函数。 基本上,它返回点之前的调用值,然后在该点上评估点代码。