如何解决在Java中收集数据框列名称
我在Java8中使用spark-sql-2.4.1v。 我有下面的情况
List data = List(
("20","score","school","2018-03-31",14,12,20),("21",13,21),("22","rate",11,22),23)
)
Dataset<Row> df = = data.toDF("id","code","entity","date","column1","column2","column3")
Dataset<Row> resultDs = df
.withColumn("column_names",array(Arrays.asList(df.columns()).stream().map(s -> new Column(s)).toArray(Column[]::new))
);
**但是这显示的是列名称的相应行列值。 那这怎么了?如何在Java **中获取“ column_names”
我正在尝试解决以下用例:
让我们说我有100列,例如column1 .... to column100 ...,每个列的计算将有所不同,具体取决于列名和数据..但是,每当我运行我的spark作业时,我都会得到哪些列我需要计算...但是在我的代码中,我将拥有所有列逻辑,即每个列逻辑可能不同...我需要忽略未指定列的逻辑...但是由于数据框包含所有列,因此我选择了指定column..so对于未选择的列,我的代码抛出异常,因为未找到列...我需要解决此问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。