簡體   English   中英

使用別名重命名 pyspark 列

[英]Using alias to rename pyspark columns

我正在嘗試在 Databricks (pyspark) 中導入鑲木地板文件並不斷收到錯誤消息

df = spark.read.parquet(inputFilePath)

AnalysisException:  Column name "('my data (beta)', "Meas'd Qty")" contains invalid character(s). Please use alias to rename it. 

我嘗試了這篇文章中的建議,在這篇文章使用.withColumnRenamed ,還使用了類似的alias

(spark.read.parquet(inputFilePath)).select(col("('my data (beta)', "Meas'd Qty")").alias("col")).show()

但總是得到同樣的錯誤。 我如何通過每一列 go 用下划線_替換任何無效字符,甚至刪除所有無效字符?

舊文件是如何生成的? 該文件使用 spark 不允許的列名保存。

生成此文件時,最好在源頭解決此問題。

您可以在 spark 中嘗試解決的幾種方法是

  1. 在 select 語句中,將列名放在 ``` 下。 喜歡
(spark.read.parquet(inputFilePath)).select(col(`('my data (beta)', "Meas'd Qty")`).alias("col")).show()
  1. 嘗試使用toDF重命名
(spark.read.parquet(inputFilePath)).toDF(["col_a", "col_b", ...]).show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM