Spark 下使用分析函式報錯

2021-07-02 20:02:45 字數 909 閱讀 1780



[author]: julia

如題,在spark下執行帶有分析函式的sql語句,程式報錯,但是同樣的語句在hive環境下面執行正常。

sql:--這一段是實際想要執行的語句,裡面用到了sum() over (partition by )函式,子查詢單獨執行是沒有問題的

select sum(r_count) over(partition by a.day) sum_day,

a.r_count,

a.datetime_v1,

a.datetime_v2,

a.day

from (select count(*) r_count,

substr(cast(fld_datetime as char(18)), 1, 10) as datetime_v1,

substr(cast(fld_datetime as char(18)), 12, 2) datetime_v2,

dayfrom ods.table_test

where day = '20150521'

group by substr(cast(fld_datetime as char(18)), 1, 10),

substr(cast(fld_datetime as char(18)), 12, 2),

day) a;

報錯如下:error: org.apache.spark.sql.analysi***ception:

是說明spark 不支援sql裡用分析函式嗎?

如果想要使用分析函式要怎麼處理,求解答!~~~

Spark程式優化及常見報錯問題分析

在實際的基於spark平台的大資料分析專案中,為提高程式的執行效率,對程式進行優化是必不可少的,本文基於個人在大資料專案中使用spark進行程式設計實現的實踐經歷,針對spark程式優化問題進行總結,具體內容如下所述。資料傾斜問題是指在spark任務的執行過程中,某個shuffle階段的大量資料被分...

Linux 下使用mysql 報錯!!

bash mysql command not found 原因 這是由於系統缺省會查詢 usr bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是對映乙個鏈結到 usr bin目錄下,相當於建立乙個鏈結檔案。首先得知道mysql命令或mysqladmin命令的完整路徑,比...

mysql函式使用報錯

解決辦法也有兩種,第一種是在建立子程式 儲存過程 函式 觸發器 時,宣告為deterministic或no sql與reads sql data中的乙個,例如 create definer current user procedure newproc deterministic begin rout...