繁体   English   中英

将查询从 spark.sql 转换为 impala

[英]Convert a query from spark.sql to impala

我在 pyspark 中有以下查询:

spark.sql= ("select id, track_id, data_source
             from db.races 
             where  dt_date = 20201010") 
             .groupBy("id", "track_id", "data_source")
             .agg(cnt('*').alias("num_races")) 
             .withColumn('last_num_id', col('id').substr(-1,1)) 
             .withColumn('last_num_track_id', col('track_id').substr(-1,1)) 
             .withColumn("status_date", lit(previous_date))

我想将其转换为 impala 查询。

到目前为止我的尝试:

select id, track_id, data_source
from db.races
group by  id, track_id, data_source
...

我可以理解直到groupBy的一部分,但之后我无法准确理解这些 pyspark 函数是如何转换的。

不熟悉 Impala,但这是我编写 SQL 查询的尝试:

select
    t.*,
    substr(t.id, -1, 1) as last_num_id,
    substr(t.track_id, -1, 1) as last_num_track_id,
    '(put the previous_date here)' as status_date
from (
    select id, track_id, data_source, count(*) as num_races
    from db.races 
    where dt_date = 20201010
    group by id, track_id, data_source
) as t

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM