hive相關語法與操作

2021-08-08 10:05:40 字數 1858 閱讀 2857

參考**:

hive操作參考**:

模板**:

create database if not exists dw_fltdb;

use dw_fltdb;

drop table if exists dw_fltdb.factfltsegordersnap2015_08;

create table if not exists dw_fltdb.factfltsegordersnap2015_08 (

orderid bigint,

sequence int,

flightno string

-- 注意是上面一行string後面一定不能跟","

)row format delimited fields terminated by '\t' stored as textfile;

-- 加local是從主機檔案系統匯入到hive;不加local是從hdfs匯入到hive

load data local inpath '/home/hadoop/dw_flatdb/dw_fltdb.factfltsegordersnap2015-08.txt' into table dw_fltdb.factfltsegordersnap2015_08;

資料型別

所佔位元組

開始支援版本

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開始支援

decimal

從hive0.11.0開始支援

char

從hive0.13.0開始支援

varchar

從hive0.12.0開始支援

date

從hive0.12.0開始支援

array

map

:map包含key->value鍵值對,可以通過key來訪問元素。比如」userlist」是乙個map型別,其中username是key,password是value;那麼我們可以通過userlist['username']來得到這個使用者對應的password;

struct

:struct可以包含不同資料型別的元素。這些元素可以通過」點語法」的方式來得到所需要的元素,比如user是乙個struct型別,那麼可以通過user.address得到這個使用者的位址。

union

:

uniontype,他是從hive 0.7.0開始支援的。

create table employees (  

name string,

salary float,

subordinates array,

deductions map,

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

HIVE上與時間相關的操作

hive中時間相關的函式操作 把指定的字串轉時間 年月 返回值錯誤 select from unixtime unix timestamp 201806 yyyymm yyyymm 把指定字串轉時間 年月日 select from unixtime unix timestamp 20180605 y...

Hive 操作與應用

一 hive用本地檔案進行詞頻統計 1.準備本地txt檔案 2.啟動hadoop,啟動hive 3.建立資料庫,建立文字表 4.對映本地檔案的資料到文字表中 5.hql語句進行詞頻統計交將結果儲存到結果表中。6.檢視統計結果 二 hive用hdfs上的檔案進行詞頻統計 1.準備電子書或其它大的文字檔...

hive資料操作常用語法

1 建立臨時表 先create臨時表,然後insert資料 insert into tmp table name select from select from 寫查詢語句 tmp 子查詢的別名 2 清空表中的資料 truncate table tablename 3 刪除表中的部分資料 不支援de...