hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,並提供類sql查詢功能
hive的組成部分 :直譯器、編譯器、優化器、執行器
hive具有sql資料庫的外表,但應用場景完全不同,hive只適合用來做批量資料統計分析
hive中的資料表分為內部表、外部表
當刪除內部表的時候,表中的資料會跟著一塊刪除
刪除外部表時候,外部表會被刪除,外部表的資料不會被刪除
使用hive之前需要啟動hadoop集群,因為hive需要依賴於hadoop集群進行工作(hive2.0之前)
以下是對hive重複資料處理
先建立一張測試表
建表語句:create table hive_jdbc_test (key string,value string) partitioned by (day string) row format delimited fields terminated by ',' stored as textfile
準備的資料
uuid,hello=>0
uuid,hello=>0
uuid,hello=>1
uuid,hello=>1
uuid,hello=>2
uuid,hello=>2
uuid,hello=>3
把資料插入到2018-1-1分割槽
此時我們對hive表資料進行去重操作
insert overwrite table hive_jdbc_test partition(day='2018-1-1')
select key,value
from (select *, row_number() over (partition by key,value order by value desc) rank
from hive_jdbc_test where day='2018-1-1') t
where t.rank=1;
此時重複資料會被處理完畢
hive 去重 字串 hive 函式
substr string a,int start,int len substring string a,intstart,int len 用法一樣,三個引數 返回值 string 說明 返回字串a從start位置開始,長度為len的字串,下標預設為1.若沒有長度預設到結尾。round round ...
hive 列表去重 Hive 資料去重
實現資料去重有兩種方式 distinct 和 group by 1.distinct消除重複行 distinct支援單列 多列的去重方式。單列去重的方式簡明易懂,即相同值只保留1個。多列的去重則是根據指定的去重的列資訊來進行,即只有所有指定的列資訊都相同,才會被認為是重複的資訊。1 作用於單列 se...
Hive資料去重
hive資料去重 insert overwrite table ta customers select t.ta id,t.ta date from select ta id,ta date row number over distribute by ta id sort by ta date de...