使用spark-csv完成加载后,直接调用inferSchema

时间:2017-05-29 08:25:13

标签: apache-spark apache-spark-sql

有没有办法可以在加载完成后直接调用inferSchema?

例如:

val df = sqlContext.read.format("com.databricks.spark.csv").
                  option("header", "true").
                  option("inferSchema", "false").load(location)
df.schema

我想打电话给下面的话:

val newdf = df.inferSchema()
newdf.printSchema()

此致

1 个答案:

答案 0 :(得分:3)

除非您定义新架构并在创建时将其应用于新DataFrame,否则

不可能

您还可以使用csv源读取架构并将其存储以供使用,但这将以任一方式扫描数据。

您尚未推断出架构,spark-csv会将每列视为字符串。