Leo Yeh's Blog

SAS 資料管理 (4)

教學目標

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

重點概念

首先若我們想要了解 Hive 資料庫中資料表和欄位的詳細資訊時,則我們將會透過「SHOW TABLES in 資料庫」顯示在資料庫中的所有資料表的資訊,以及我們將會透過「SHOW COLUMNS in 資料表」顯示在資料表中的所有欄位的資訊,至於有關欄位格式的資訊,我們將會透過「DESCRIBE FORMATEED 資料表」顯示欄位格式的資訊,因此我們主要透過三個 HiveQL 查詢指令了解資料庫中的相關資訊,分別為:

  1. SHOW TABLES in 資料庫。
  2. SHOW COLUMNS in 資料表。
  3. DESCRIBE FORMATEED 資料表。

接著我們也能夠在 SAS 平台中定義 Hive 函式庫,以利我們透過 SAS Management Console 工具、 SAS Enterprise Guide 工具或 SAS Studio 網站查看 Hive 函式庫所定義的中繼資料資訊。此外當我們定義 Hive 函式庫之後,除了透過工具與網站查看詳細資訊之外,更能夠透過「PROC CONTENTS」敘述式查看 Hive 函式庫的詳細資訊。

再來我們也能夠透過在 SAS 平台中透過「PROC SQL SELECT」敘述式查詢資料表中的內容資料。「PROC SQL SELECT」敘述式主要有三個部分所組成,分別為:

  1. SAS SQL SELECT 表達式。
  2. FROM CONNECTION TO HADOOP 敘述式。
  3. HiveQL 查詢指令。

此外我們除了使用 HiveQL 查詢指令之外,還能夠搭配 SAS 中的 SQL 查詢指令和 SAS 功能敘述式直接產生更能夠符合客戶需求的查詢結果或呈現報表。

最後我們在實務應用時通常會需要聯結多個 Hive 資料庫中的資料表,此時就能夠使用 HiveQL 中的 JOIN 查詢指令,以及會需要在 SAS 中建立資料表,此時就會透過 PROC SQL 中的 CREATE TABLE 查詢指令,但是將會需要額外的儲存空間,所以我們還能夠透過 PROC SQL 中的 CREATE VIEW 查詢指令在 SAS 中建立檢視表,其主要不會包括任何資料,主要儲存 Hive 相關連線資料和參考查詢指令,以利每次進行相同的存取。請注意在 SAS 中透過 PROC SQL 建立檢視表無法使用 WHERE 進行篩選和 ORDER BY 進行排序,僅能夠在 SAS 敘述式中進行篩選和排序查詢結果。

總結在 Hadoop 平台中將會優化資料加總、排序和資料表連結的處理,因此我們能夠在 SAS 平台中傳送 HiveQL 查詢語言至 Hadoop 平台中進行大數據的快速處理,並且回傳查詢結果,並且儲存為 SAS 資料集或 SAS 檢視表,以利後續透過 SAS 程式進行資料分析和呈現報表。

相關資源

⬅️ Go back