PySpark数据框架写入orc不允许列名带有连字符



我是PySpark的新手。我有一个csv文件与列名称中的连字符。我可以成功地将文件读入数据框。然而,在将df写入orc文件时,我得到如下错误-

. lang。缺少必需的字符':' at"struct

当我通过删除连字符重命名列时,我可以将数据框写入orc。但是我需要列名有连字符,因为我想将这个orc附加到一个现有的orc上,该orc的列名中有连字符。

有人能帮我一下吗?任何帮助都将非常感激!!

使用反引号""包含列名。

:"列名">

读取数据框中的数据,并创建一个具有所需结构的新空数据框

from pyspark.sql.types import *
result= spark.read.orc(path)
schema = StructType([
StructField('col-name', StringType(), True),
StructField('middlename', StringType(), True),
StructField('lastname', StringType(), True)
])
df = spark.createDataFrame(spark.emptyRDD(),schema)
df.unionAll(result).show()

最新更新