【问题标题】:Spark read csv schemaSpark 读取 csv 模式
【发布时间】:2020-10-28 10:08:40
【问题描述】:

我正在使用以下代码将文件导入数据框。即使我已经定义了架构,但不知何故它没有使用我提供的架构。有什么见解吗?

schema= "row INT, name STRING, age INT, count INT"
df = spark.read.format('csv').\
options(schema = schema).\
options(delimiter=',').\
options(header='false').\
load('C:/SparkCourse/fakefriends.csv')
df.columns
['_c0', '_c1', '_c2', '_c3']

【问题讨论】:

    标签: pyspark apache-spark-sql


    【解决方案1】:
    Can you try with this.
    
    schema= "row INT, name STRING, age INT, count INT"
    df = spark.read.format("csv")
            .schema(schema)
            .options(delimiter=',')
            .options("header", "false")
            load('C:/SparkCourse/fakefriends.csv')
            df.columns
            ['_c0', '_c1', '_c2', '_c3']
    

    【讨论】:

    • 嗨@Nisha,此代码抛出错误,因为您使用了选项而不是选项。请检查。谢谢。
    • 感谢指正。丢到这里的时候错过了!!!
    • 谢谢 - 这工作。据我了解,我需要更改架构(架构)
    【解决方案2】:

    请使用它来获得正确的解决方案。

    from pyspark.sql.session import SparkSession
    
    spark = SparkSession.builder.getOrCreate()
    
    schema = "row INT, name STRING, age INT, count INT"
    
    spark.read.format("csv") \
        .schema(schema) \
        .options(delimiter=',') \
        .options(header=False) \
        .load('fakefriends.csv') \
        .show(truncate=False)
    
    +---+----+---+-----+
    |row|name|age|count|
    +---+----+---+-----+
    |1  |a   |1  |2    |
    |2  |b   |2  |3    |
    |3  |c   |3  |4    |
    +---+----+---+-----+
    

    【讨论】:

      猜你喜欢
      • 2018-03-25
      • 1970-01-01
      • 2016-12-03
      • 2015-11-11
      • 2016-09-13
      • 2021-06-30
      • 2017-06-29
      • 1970-01-01
      • 2020-08-05
      相关资源
      最近更新 更多