我可以通过使用withColumn
向现有数据集添加新列来获取新数据集。
但我不确定为什么这种情况会给出错误。
Dataset<Row> inputDSAAcolonly = inputDSAA.select(colNameA);
Dataset<Row> inputDSBBcolonly = inputDSBB.select(colNameB);
inputDSBBcolonly.withColumn(colNameA, inputDSAAcolonly.apply(colNameA)).show();
其中inputDSSAAcolonly
是
+----+
|Exer|
+----+
|Some|
|None|
|None|
|None|
和inputDSSBBColonly
是
+-----+
|Smoke|
+-----+
|Never|
|Regul|
|Occas|
|Never|
数据集中基本上是单列。
我需要一个并排2列的DS。
withColumn
已经有效,但这个错误:
线程中的异常&#34; main&#34; org.apache.spark.sql.AnalysisException: 已解决的属性操作员的烟雾#47缺少排放#7 !项目[Smoke#47,Exer#7 AS Exer#112] ;;项目[Smoke#47,Exer#7 AS EXER#112]
答案 0 :(得分:1)
您基本上是在尝试加入这两个数据集。
withColumn适用于对数据框列进行操作的数据框。您正尝试在不同的数据帧上执行操作。
如果确实问题与您的代码一样简单,那么您可以选择两者并在使用两者时执行相关操作。否则你需要进行连接
答案 1 :(得分:0)
ActiveCell.Offset(1, 0).Select