Apache spark dataframe.colums是一个火花动作吗?

Apache spark dataframe.colums是一个火花动作吗?,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,如果没有,则以下代码中没有操作方法,但是“/demo.json”被读取一次 val x = spark.read.json("./demo.json") println(x.columns) dataframe.columns本身不是一个操作,但它需要获取数据帧的架构。根据文件格式,这需要文件扫描(json、csv)。对于其他文件格式,如parquet,可以从元数据中提取列,因此不需要实际的文件扫描spark.read.json是一种读取所有数据以推断模式的操作(除非手动指定)。因此,x.co

如果没有,则以下代码中没有操作方法,但是
“/demo.json”
被读取一次

val x = spark.read.json("./demo.json")
println(x.columns)

dataframe.columns
本身不是一个操作,但它需要获取数据帧的架构。根据文件格式,这需要文件扫描(json、csv)。对于其他文件格式,如parquet,可以从元数据中提取列,因此不需要实际的文件扫描

spark.read.json
是一种读取所有数据以推断模式的操作(除非手动指定)。因此,
x.columns
不会触发任何操作

根据(点击json):

此函数通过一次输入来确定输入 模式。如果您事先知道该模式,请使用 指定架构以避免额外扫描


因此,csv、拼花地板或sql表数据的计算成本可以忽略不计。对于json数据,它就像一个分区操作方法?