Apache spark 在Spark SQL中将别名分配给组字段
在Spark SQL中,是否可以为分组字段分配别名 例如,我想做这样的事情:Apache spark 在Spark SQL中将别名分配给组字段,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,在Spark SQL中,是否可以为分组字段分配别名 例如,我想做这样的事情: SELECT field_b FROM table GROUP BY some_func(field_a) AS field_b 这不受支持,但我必须执行以下操作: SELECT some_func(field_a) AS field_b FROM table GROUP BY some_func(field_a) 正如您所见,我需要调用两次某个函数,这有点烦人。如果使用某个聚合函数,您可以使用子查询: 从中选择字
SELECT field_b
FROM table
GROUP BY some_func(field_a) AS field_b
这不受支持,但我必须执行以下操作:
SELECT some_func(field_a) AS field_b
FROM table
GROUP BY some_func(field_a)
正如您所见,我需要调用两次某个函数,这有点烦人。如果使用某个聚合函数,您可以使用子查询: 从中选择字段b、某些字段c 从表中选择*,一些字段 tmp分组(按字段) 或DSL: 表.groupBysome_func$字段a.Alias字段b .aggsome\u agg$field\u c 如果不使用聚合,distinct子句将具有相同的效果: 从表中选择不同的字段 与DSL等效: 表。选择某些函数$field\u a.aliasfield\u b.distinct
在我问题的第二个问题中,spark是否真的为每一行调用了两次函数?子查询方法的性能是否比我的第二个查询更好?