Apache Pig 中有哪些不同的資料型別?


Apache Hadoop是一個數據檔案系統,但要執行資料處理,我們需要一種類似SQL的語言,這種語言可以根據我們的需求更改資料或進行復雜的資料轉換。Apache PIG可以實現這種資料操作。Pig使用像SQL一樣的高階語言與Hadoop一起建立。Pig資料型別可與正式和非正式資料一起使用,並被轉換為Hadoop集合中處理的Map Reduce編號。

在理解Pig運算子之前,我們必須瞭解Pig資料型別。任何上傳到Pig的資料都具有特定的結構和模式,該模式使用Pig資料型別處理的資料結構來形成資料模型。

為了理解結構,資料必須透過對映來定義資料模型。由於類似SQL的結構與巢狀中的單值結構和層次資料結構配合良好,因此Pig可以處理任何資料。它帶有一組有限的資料型別。Pig資料型別可以分為兩類:

  • 基本型別

  • 複雜型別

基本資料型別

它也被稱為簡單資料型別。基本資料型別如下:

  • int - 帶符號的32位整數,類似於Java中的Integer。

  • long - 帶符號的64位整數,類似於Java中的Long。

  • float - 帶符號的32位浮點數,類似於Java中的float。

  • double - 64位浮點數,類似於Java中的Double。

  • chararray - Unicode格式(UTF-8)的字元列表。這與Java字元單元項相容。

  • bytearray - 位元組資料型別預設表示位元組。當未指定資料檔案型別時,預設值為bytearray。

  • boolean - 值為真或假。

複雜資料型別

複雜資料型別由一些邏輯上和結構上比較複雜的資料型別組成。以下是複雜資料型別:

資料型別 定義 程式碼 示例
元組 (Tuple) 一組有序的欄位。元組用括號書寫。 (field[,fields....]) (1,2)
包 (Bag) 一組元組稱為包。用尖括號或花括號表示。 {tuple,[,tuple...]} {(1,2), (3,4)}
對映 (Map) 一組鍵值對。對映用方括號表示。 [Key # Value] ['keyname'#'valuename']
  • 鍵 (Key) - 用於查詢元素的元素,鍵必須唯一且必須是chararray。

  • 值 (Value) - 任何資料都可以儲存在值中,每個鍵都有與其相關的特定資料。對映使用方括號和鍵值之間的井號構建。井號用於分隔多個鍵值對。這裡#用於區分鍵和值。

  • 空值 - 值缺失或未知,可以應用任何資料。Pig處理空值的方式類似於SQL。當資料缺失或資料處理過程中發生錯誤時,Pig會檢測空值。此外,null也可以用作您選擇的任意值。

注意 - Pig允許複製複雜的資料結構。例如,您可以輕鬆地將元組放置在元組、包和對映的內部。

結論

Apache Pig是Hadoop生態系統的一部分,它支援SQL作為結構,並支援用Java.lang類表示的SQL中使用的的資料。由於資料的複雜性,Pig用於包括正式和非正式資料處理的任務。雅虎將其約40%的搜尋操作用於Pig提取資料、執行任務並將資料丟棄到HDFS檔案系統。

更新於:2022年8月25日

5000+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告