Leo Yeh's Blog

SAS 資料管理 (7)

教學目標

初步了解 SAS 平台中使用 Hive 進行資料管理的基本概念。

重點概念

首先當我們在 SAS 平台中透過 LIBNAME 引擎存取 Hive 資料表時,主要會將大部份的 PROC SQL 程式碼轉換為 HiveQL,但是 DATA 步驟程式碼則不會轉換為 HiveQL。此外當我們透過 LIBNAME 陳述式與 Hadoop 叢集進行互動則帶來的優勢為能夠將部份 SAS 程序推入至 Hive 中進行處理。

接著當我們在 SAS 平台中透過相同 LIBNAME 引擎存取多兩個 Hive 資料表時,通常會進行資料表連結的處理,主要有二種方式,分別為:

  1. 透過 SQL 程序進行關聯。
  2. 透過 DATA 步驟進行關聯。

其中 Hive 主要會進行資料表的關聯,完成之後將結果傳回至 SAS 平台中。

再來在 SAS 平台中不僅能夠整合來自 Hive 資料表之外,也能夠整合來自不同資料來源的表格、檢視表或報表。此外若我們將一個非常大的 Hive 資料表和一個非常小的 SAS 資料集進行關聯時,則建議使用 MULTI_DATASRC_OPT=SAS/ACCESS LIBNAME 選項提高資料處理的效能,或者透過 MULTI_DATASRC_OPT=IN_CLAUSE 選項降低從 Hive 中取得的資料量。

最後我們不僅能夠將處理過的結果透過 SAS 程式將 SAS 資料集的資料複製至 Hive 中,更能夠透過 SAS 程式將從 Hive 資料表中獲取簡單或複雜的摘要報表。

相關資源

⬅️ Go back