繁体   English   中英

Scala Spark - 无法解析列名

[英]Scala Spark - Cannot resolve a column name

这应该很简单,但是我对以下代码有疑问:

val test = spark.read
    .option("header", "true")
    .option("delimiter", ",")
    .csv("sample.csv")

test.select("Type").show()
test.select("Provider Id").show()

test是一个 dataframe 像这样:

类型 提供者 ID
一个 asd
一个 bsd
一个 惩教署
rrr
Exception in thread "main" org.apache.spark.sql.AnalysisException: 
cannot resolve '`Provider Id`' given input columns: [Type, Provider Id];;
'Project ['Provider Id]

它选择并显示Type列就好了,但无法让它为Provider Id工作。 我想知道是不是因为列名有空格,所以我尝试使用反引号,删除和替换空格,但似乎没有任何效果。 此外,当我使用 Spark 库 3.x 时它运行良好,但当我使用 Spark 2.1.x 时它不起作用(同时我需要使用 2.1.x)

附加:我尝试将 CSV 列顺序从Type - Provider Id更改为Provider Id然后Type 错误是相反的, Provider Id显示,但对于Type ,它现在抛出异常。

有什么建议么?

test.printSchema()

您可以使用printSchema()的结果来查看 spark 读取您的列的准确程度,然后在您的代码中使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM