hive學習 hive中的資料型別

2021-06-23 04:56:19 字數 1770 閱讀 6427

(1)基本型別

資料型別

所佔位元組

開始支援版本

tinyint

1byte,-128 ~ 127

smallint

2byte,-32,768 ~ 32,767

int4byte,-2,147,483,648 ~ 2,147,483,647

bigint

8byte,-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

boolean

float

4byte單精度

double

8byte雙精度

string

binary

從hive0.8.0開始支援

timestamp

從hive0.8.0開始支援

(2)混合型別:

array

array

型別是由一系列相同資料型別的元素組成,這些元素可以通過下標來訪問。比如有乙個

array

型別的變數

fruits

,它是由

組成,那麼我們可以通過

fruits[1]

來訪問元素

orange

,因為array

型別的下標是從

0開始的;

array(「test1」,」test2」)

map

map

包含key->value

鍵值對,可以通過

key來訪問元素。比如」

userlist」

是乙個map

型別,其中

username

是key

,password

是value

;那麼我們可以通過

userlist['username']

來得到這個使用者對應的

password;

map(「username」,」zhu」)

struct

struct

可以包含不同資料型別的元素。這些元素可以通過」點語法」的方式來得到所需要的元素,比如

user

是乙個struct

型別,那麼可以通過

user.address

得到這個使用者的位址。

struct(「zhu」,」2428922)

例子:

create table employees (  

name string,

salary float,

subordinates array,

deductions map,

address struct) partitioned by (country string, state string);

表已經建立完成,現在說說hive的資料文字編碼:

指定分割標記:

create table employees (  

name string,

salary float,

subordinates array,

deductions map,

address struct) partitioned by (country string, state string);

row formate delimited

fields terminated by ',';

Hive學習筆記 Hive中的分桶

對於每乙個表 table 或者分割槽,hive可以進一步組織成桶,也就是說桶是更為細粒度的資料範圍劃分。hive也是針對某一列進行桶的組織。hive採用對列值雜湊,然後除以桶的個數求餘的方式決定該條記錄存放在哪個桶當中。把錶 或者分割槽 組織成桶 bucket 有兩個理由 1 獲得更高的查詢處理效率...

Hive學習筆記 Hive 引數

第一部分 hive 引數 hive.exec.max.created.files 說明 所有hive執行的map與reduce任務可以產生的檔案的和 預設值 100000 hive.exec.dynamic.partition 說明 是否為自動分割槽 預設值 false hive.mapred.re...

Hive學習筆記 Hive概述

1.1 資料倉儲 可以利用資料倉儲來儲存我們的資料,但是資料倉儲有別於我們常見的一般資料庫。資料倉儲是乙個面向主題的 整合的 不可更新的 隨時間不變化的資料整合,它用於支援企業或組織的決策分析處理。物件導向的 倉庫中的資料是按照一定的主題進行組織的。主題即使用者使用資料倉儲進行決策時所關心的重點方面...