stdf.join(csdf, Seq("MTCODE", "MATNAME", "WORKCENTERCODE", "WORKCENTERNAME", "MACHINETYPECODE", "MACHINETYPENAME")) .select() 如何选取第一个地方的列
时间: 2023-07-08 13:46:06 浏览: 40
在Scala或者Python中,可以使用下标的方式来选取DataFrame数据表中的某一列,例如:
```
stdf.join(csdf, Seq("MTCODE", "MATNAME", "WORKCENTERCODE", "WORKCENTERNAME", "MACHINETYPECODE", "MACHINETYPENAME")).select($"stdf.col1", $"stdf.col2")
```
这个语句选取了DataFrame数据表stdf中的第一列和第二列,前者使用了 $stdf.col1$ 的方式表示,后者使用了 $stdf.col2$ 的方式表示。你可以根据实际情况修改 $stdf.col1$ 和 $stdf.col2$ 的内容,以选取你需要的列。
相关问题
我有一个stdf的dataframe 使用.select($"stdf.WORKORDERNO")报错 cannot resolve 'stdf.WORKORDERNO' given input columns
这个错误通常表示stdf这个DataFrame中并不存在名为"stdf.WORKORDERNO"的列。你可以通过以下两种方式解决这个问题:
1. 使用别名来访问列。例如,使用`select($"WORKORDERNO".alias("stdf.WORKORDERNO"))`,这样就可以通过"stdf.WORKORDERNO"来访问该列了。
2. 确认stdf这个DataFrame中是否真的存在名为"stdf.WORKORDERNO"的列。你可以使用`stdf.columns`查看该DataFrame中所有的列名,确认该列是否存在,并且注意大小写是否匹配。如果该列确实不存在,那么你需要先进行数据预处理,以确保该列存在。
spark.sql.AnalysisException: cannot resolve 'stdf.WORKORDERNO' given input columns
这个错误通常表示你的SQL查询中包含了一个不存在的列名,即'STDF.WORKORDERNO'。请检查你的SQL语句,确认该列是否存在,或者是否有拼写错误,以及表是否已经正确地注册到Spark SQL中。另外,也需要检查你的输入数据是否包含该列。如果数据中不包含该列,那么你需要先对数据进行预处理,以确保该列存在。