如何在 apache spark 中同时使用 dataset.select 和 selectExpr
Posted
技术标签:
【中文标题】如何在 apache spark 中同时使用 dataset.select 和 selectExpr【英文标题】:How to use both dataset.select and selectExpr in apache spark 【发布时间】:2017-11-22 06:24:32 【问题描述】:我想要下面提到的使用 Spark (2.2) 数据集的数据
Name Age Age+5
A 10 15
B 5 10
C 25 30
我尝试使用以下方法:
dataset.select(
dataset.col("Name"),
dataset.col("Age),
dataset.col( dataset.selectExpr("Age"+5).toString() )
);
这会引发异常,因为找不到Age
列。
【问题讨论】:
【参考方案1】:selectExpr
有定义:
public Dataset<Row> selectExpr(String... exprs)
它以可变参数字符串作为参数。所以,你可以使用:
dataset.selectExpr( "Name", "Age", "Age+5" )
【讨论】:
它就像select
,但定义不同。以上是关于如何在 apache spark 中同时使用 dataset.select 和 selectExpr的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Apache-Spark 2.x 中使用 java 进行增量序列
如何在Spark提交中使用s3a和Apache spark 2.2(hadoop 2.8)?