Spark版本2.1.0 (2016年12月28日)无法对csv文件执行inferSchema操作是因为在该版本中,Spark的CSV数据源默认不支持自动推断模式(inferSchema)。这意味着在读取CSV文件时,Spark无法自动推断每列的数据类型。
要解决这个问题,有两种方法可以尝试:
import org.apache.spark.sql.types._
val schema = StructType(
Array(
StructField("age", IntegerType, nullable = true),
StructField("name", StringType, nullable = true)
)
)
val df = spark.read
.format("csv")
.schema(schema)
.load("path/to/csv/file.csv")
在上述代码中,我们使用StructType
定义了一个包含两个字段的模式对象,并指定了每个字段的数据类型。然后,通过spark.read.format("csv").schema(schema).load("path/to/csv/file.csv")
读取CSV文件时,将使用手动定义的模式。
需要注意的是,以上解决方法都是基于Spark的内置功能,不涉及特定的腾讯云产品。因此,无需提供腾讯云相关产品和链接地址。
领取专属 10元无门槛券
手把手带您无忧上云