我正在尝试使用case类从Dataframe创建DataSet。
case class test (language:String, users_count: String = "100")
+--------+-----------+
|language|users_count|
+--------+-----------+
| Java| 20000|
| Python| 100000|
| Scala| 3000|
+--------+-----------+
df.as[test]
如何处理 Dataframe 中缺少列的情况?期望数据集填充case类中提供的默认值。
如果 Dataframe 只有一列,则会引发异常
org.apache.spark.sql.AnalysisException:无法解析给定输入列的“users_count
”:[语言文字];
预期结果:
+--------+
|language|
+--------+
| Java|
| Python|
| Scala|
+--------+
df.as[test].collect(0)
test('Java',100) // where 100 is the default value
1条答案
按热度按时间ckx4rj1h1#
您可以使用
map
函数并显式调用构造函数,如下所示: