将模式推断为 DataFrame pyspark

Infer an schema to DataFrame pyspark

我见过许多针对 Scala 或其他类型文件的解决方案。但是如何使用 pyspark 在 python 中将模式推断为加载 DataFrame,一个 csv 文件。

df = spark.read.csv('dataset.csv')

如果我检查架构,所有列都是字符串。我可以逐列更改,但我认为有更好的方法。

我找到了。我把它留在这里以防有人有同样的疑问。有写专栏的地方你应该写专栏的名字。

schema = StructType([
    StructField("column1", FloatType(), nullable=True),
    StructField("column2", FloatType(), nullable=True),
    StructField("column3", IntegerType(), nullable=True),
    StructField("column4", DoubleType(), nullable=True),
)

最快的方法是推断架构并设置列类型。我认为它可能会出错,创建 DataFrame

后检查它
df = spark.read.csv('dataset.csv',  inferSchema = True)