hive 去重 字串 Hive去除重複資料操作

2021-10-13 01:35:55 字數 992 閱讀 3937

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...