第一章 hive的基本概念

2021-08-20 08:22:19 字數 1384 閱讀 3288

1 hive基本概念

hive是乙個以apache hadoop為基礎的資料倉儲基礎設施。hive的設計目標是使得資料彙總更加簡單和針對大容量資料的查詢和分析。

hive的sql為使用者提供了多種地方來融合他們自己的方法實現自定義分析;

hive不是為事務聯機處理設計的。它是用於處理傳統資料倉儲任務。

2 hive資料組織結構

partitions:每個頁面都擁有乙個或者多個key來決定資料如何儲存。partitions——除了儲存單元——也允許使用者高效地識別滿足指定標準的行。例如,string型別的 data_partition和string 型別的country_partition。每乙個獨一無二的partition key值定義乙個table的partition。例如,us時間的「2009-12-23」是page_views table的乙個partition。因此,如果你只想分析2009-12-23的「us」資料,你可以執行在該table相關的partition上,從而提高分析效率。然而需要說明的是,只是因為有乙個partition名字為2009-12-23並不意味著它包含所有或者只是該日期的資料。partition用時間命名只是為了方面。維持partition名字和資料內容之間的對映關係是使用者的工作。partition列是虛擬列,本身不是資料的一部分而是在載入中派生出來的。

buckets (or clusters):基於對錶中一些列的hash方法得出值來將每個partition中的資料分到不同的buckets中。例如,page_views表可能通過userid表中不同於其他partition列的列來bucket。這可以用於有效地獲取樣本。

3  型別系統

boolean type

floating point numbers

fixed point numbers

string types

date and time types

binary types

型別的層次結構如下(父類是所有子類例項的超型別):

string

boolean

型別層級定義了型別在查詢語言中的隱性轉換。隱性轉換允許子類轉換成父類。所以當乙個查詢表示式需要type1但是資料是type2,type1在層級結構中是type2的父類,那麼type2可以轉換成type1.需要說明的是型別層級允許string轉換成double。

明確的型別轉換可以用下面部分#built in functions中的cast操作符來實現。

3.2  複雜型別

複雜型別可以用原始型別和其他組合型別來組合:

使用原始資料型別和創造複雜型別的架構,任意級別的巢狀型別都可以被創造。例如,對於乙個型別,使用者可能包含下面的字段:

4 hive能功能

hive's sql 提供基礎 sql操作. 這些操作是用在表和partition上,這些操作是:

第一章 程式設計基本概念

1 計算機是一種具有內部儲存能力,由程式自動控制的電子裝置。2 當給出命令之後,計算機按指令順序自動進行操作,把這種可以連續執行的一條指令的集合稱為 程式 3 計算機只能接受和處理由0和1的 構成的二進位制指令或資料。把由高階語言編寫的程式稱為 源程式 把有二進位制 表示的程式稱為 目標程式 c源程...

第一章 資料的基本概念

注 區分測量的層次和資料的型別是十分重要的,因為對不同型別的資料將採用不同的統計方法來處理和分析。比如對於定類資料,通常計算出各類的頻數和頻率,計算其眾數和異眾比率,進行列聯表分析和卡方檢驗 對於定序資料,可以計算其中位數和四分衛數,計算等級相關係數等非引數分析 對於定距和定比資料還可以用更多的統計...

第一章 C 的基本概念

1 2 我的第乙個c 程式 1 3 程式架構簡介 1 4 其他問題 c c 源自於貝爾實驗室,當初其原創者bjarnestroustrup以c作為基本的架構,再引入物件導向的概念,從而形成了最初的c 語言。因此,c 可以說是包含了整個c語言,也就是說幾乎所有的c語言程式,只要進行微幅的修改,甚至於完...