Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 在Spark SQL中将别名分配给组字段_Apache Spark_Apache Spark Sql - Fatal编程技术网

Apache spark 在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) 正如您所见,我需要调用两次某个函数,这有点烦人。如果使用某个聚合函数,您可以使用子查询: 从中选择字

在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)

正如您所见,我需要调用两次某个函数,这有点烦人。

如果使用某个聚合函数,您可以使用子查询:

从中选择字段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是否真的为每一行调用了两次函数?子查询方法的性能是否比我的第二个查询更好?