Leo Yeh's Blog

SAS 資料管理 (6)

教學目標

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

重點概念

首先在 SAS 平台中我們除了使用預設的文字檔案格式將 Hive 資料表儲存至 HDFS 中之外,我們更能夠以循序檔案格式儲存至 HDFS 中。所謂循序檔案格式就是以二進位的格式儲存,以利減少儲存空間,提高儲存和處理的效率,但是無法支援 Hadoop 平台之外的第三方工具。

接著除了文字檔案格式和循序檔案格式之外,Hive 還能夠支援更多種類的自訂檔案格式,也就是 Serializer/Deserializer (SerDe)。所謂 Serializer 主要是處理從記憶體至 HDFS 儲存格式的資料轉換,而 Deserializer 主要是處理從 HDFS 至記憶體儲存格式的資料轉換。

再來當我們需要在文字檔案格式和循序檔案格式中使用 SerDes 格式時,主要會使用 ROW FORMAT SERDE 指定 SerDe 類別所使用的 JAR 檔,INPUTFORMAT 指定 Serializer 的格式,OUTPUTFORMAT 指定 Deserialization 的格式。

最後在 SAS 平台中則有許多內建的 SerDes 格式,像是 Avro、ORC、RegExSerDe、Thrift、Parquet、CSV、…等,更多詳細內容請參考下表。

內建 SerDes 格式 說明
Avro 基於 JSON 檔案結構的二進位延伸格式。
ORC 基於欄位分割的二進位欄位格式。
RegExSerDe 基於正規表達式的格式。
Thrift 二進位延伸格式。
Parquet 二進位欄位格式。
CSV 一般逗點文字檔。

相關資源

⬅️ Go back