HIVE學習(hive基礎)

HIVE基礎介紹

  • 一、HIVE簡介
  • 二、hive的數據類型
    • 1、基本數據類型
    • 2、復合數據類型
  • 三、HIVE的DDL操作
  • 四、創建一個表
    • 1. 建表語句
  • 五、修改表結構
    • 1.修改表名
    • 2. 列修改或增加
    • 3. 修改分區
  • 五、常見函數
  • 六、一對一關聯
    • left join左關聯
    • right join 右關聯
    • 內連接
    • 全連接
    • 查詢只有A表的數據

一、HIVE簡介

  1. 什么是hive?
    HIVE是一種基于hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,并提供SQL查詢功能
    本質:SQL轉換為MAPREDUCE程序
    主要用途:用來做離線數據分析,比直接用MapReduce開發效率更高
  2. hive與數據庫的區別
    ① 查詢語句
    HQLSQL
    ② 數據存儲
    HDFS // RAW DEVICE OR LOCAL FS
    ③ 執行器
    MAPREDUCE / EXECUTOR
    ④ 數據插入
    支持批量導入與單挑插入//支持單條或批量導入
    ⑤ 數據操作
    覆蓋追加//行級更新刪除
    ⑥數據規模
    大/小
    ⑦執行延遲
    高/低
    3.HIVE不支持數據更新與刪除是因為hive存儲在HDFS中,刪除為物理刪除,代價較高,只支持覆蓋和追加
  3. hive擴展性好是因為可以在多個集群的服務器上做應用開發
  4. hive的讀時模塊快,是指hive加載數據到表中時不會做數據校驗,在讀取數據時才校驗,它的查詢延遲主要浪費在資源調度上,進行任務劃分然后進行計算任務的申請

二、hive的數據類型

1、基本數據類型

booleantrue/falsetrue
tinyint1字節的有符號整數1
smallint2字節的有符號整數1
int4字節的有符號整數1
bigint8字節的有符號整數1
float4字節單精度浮點數1.0
double8字節單精度浮點數1.0
string字符串“abc”
varchar字符串“abc”
timestamp時間戳1563157873
date日期20190715

2、復合數據類型

類型名稱描述舉例
array字段類型相同的有序字段array(1,2,3)
map無序的鍵值對map(k1,v2,k2,v2)map(‘a’,‘1’,‘b’,‘2’)
struct一組命名的字段,字段類型可以不同struct(元素1,元素2)struct(‘a’,1,2,0)
select map_key(''),map_values('') from user;
create table complex(col1 array<int>,col2 map<string,int>,col3 struct<a:string,b:int,c:int>
)

三、HIVE的DDL操作

show database;
show database like 'db_hive*';
# 顯示數據庫詳細信息
desc database extended db_hive;
# 切換當前數據庫
use db_hive;
# 刪除數據庫
drop database if exists db_hive;
# 強制刪除
drop database if exists bd_hive cascade;

四、創建一個表

1. 建表語句

create(external) table (if not exists) table_name(col_name data_type comment "中文名"
)
row format delimited fields terminated by'\t'[指定每一行中字段的分隔符]
stored as orc[指定存儲文件類型(sequencefile 二進制序列文件、textfile 文本、rcfile 列式存儲格式文件,不指定就默認為文本文件]

(1)查詢建表法
通過AS語句,將查詢的子結果存在新表里

create table if not exists student1 as select;

like建表法

create table if not exists student2 like select;

(2)分區表的創建
一級分區

create table student_partition1(id int,name string,age int
)
partitioned by (dt string)
row format delimited fields terminated by '\t';

二級分區

create table student_partition1(id int,name string,age int
)
partitioned by (dt string,day string)
row format delimited fields terminated by '\t';

五、修改表結構

1.修改表名

alter tablestudent——partition1 rename to student—p1

2. 列修改或增加

增加列

alter table student add columns(字段名,字段類型)

修改列

alter table student change columns 字段名 更改的類型;

替換列

alter table student replace columns(deptno string,dname string,loc string)
替換表中所有有字段

3. 修改分區

# 添加單個分區
alter table student add partition(dt='20230402');
# 添加多個分區
alter table student add partition(dt='20230402',dt='20230402');
# 刪除分區
alter table student drop partition (dt= '20200401'

五、常見函數

六、一對一關聯

left join左關聯

將左邊的表A作為主表,以A表為外循環對右表進行匹配,如果右表沒有匹配,就將右表項值為空

right join 右關聯

內連接

選擇兩個表同時出現的項

全連接

選擇所有出現的項

查詢只有A表的數據

select * from A 
left join B A.ID=B.ID
WHERE B.ID =NULL

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213041.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213041.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213041.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機視覺-機器學習-人工智能頂會 會議地址

計算機視覺-機器學習-人工智能頂會 會議地址 最近應該要整理中文資料的參考文獻&#xff0c;很多會議文獻都需要補全會議地點&#xff08;新國標要求&#xff09;。四處百度感覺也挺麻煩的&#xff0c;而且沒有比較齊全的網站可以搜索。因此自己整理了一下計算機視覺-機器學習…

OSPF路由協議

隨著Internet技術在全球范圍的飛速發展&#xff0c;OSPF已成為目前應用最廣泛的路由協議之一。OSPF&#xff08;Open Shortest Path First&#xff09;路由協議是由IETF&#xff08;Internet Engineering Task Force&#xff09;IGP工作組提出的&#xff0c;是一種基于SPF算法的…

JS 云服務 Deno Depoly 宣布,推出定時運行功能 Deno Cron

如果需要定時執行 JS 腳本&#xff0c;以后多一個選項。 Web 構建日益復雜。編寫現代軟件包括利用云基礎設施、剖析模板代碼和管理復雜的配置&#xff0c;而開發人員只想專注于編寫業務邏輯。 Deno 旨在通過刪除配置和不必要的模板&#xff0c;從根本上簡化 Web 開發。我們將無…

網絡攻擊(三)--攻擊階段

5. 威脅建模階段 目標 了解威脅建模階段的工作內容 工作內容 威脅建模主要使用在情報搜集階段所獲取到的信息&#xff0c;來標識出目標系統上可能存在的安全漏洞與弱點。 在進行威脅建模時&#xff0c;確定最為高效的攻擊方法、所需要進一步獲取到的信息&#xff0c;以及從…

【前端】CSS浮動(學習筆記)

一、浮動 1、傳統網頁布局 網頁布局的本質&#xff1a;用 CSS 來擺放盒子&#xff0c;把盒子擺放到相應位置。 CSS 提供了三種傳統布局方式&#xff08;盒子如何進行排列順序&#xff09; 普通流&#xff08;標準流&#xff09;浮動定位 實際開發中&#xff0c;一個頁面基…

Go 反射技術判斷結構體字段數據為空

Api介紹 在Go語言中&#xff0c;反射API用于在運行時檢查類型信息、獲取和修改變量的值以及調用對象的方法。反射API包含了一組函數和類型&#xff0c;可以在程序運行時動態地操作對象。 以下是一些常用的反射API&#xff1a; reflect.TypeOf&#xff1a;返回一個值的類型信息。…

并查集基礎模板

題目我上面有人兒 代碼 #include <bits/stdtr1c.h> using namespace std; const int N 1005; int f[N]; int n; int siz[N]; // 初始化并查集 // void init() // { // for (int i 1; i < n; i) // { // f[i] i; // 初始化所有的節點都是自己的父節點 //…

Tomcat頭上有個叉叉

問題原因&#xff1a; 這是因為它就是個空的tomcat,并沒有導入項目運行 解決方案&#xff1a; war模式&#xff1a;發布模式&#xff0c;正式發布時用&#xff0c;將WEB工程以war包的形式上傳到服務器 war exploded模式&#xff1a;開發時用&#xff0c;將WEB工程的文件夾直接…

【網絡協議】LACP(Link Aggregation Control Protocol,鏈路聚合控制協議)

文章目錄 LACP名詞解釋LACP工作原理互發LACPDU報文確定主動端確定活動鏈路鏈路切換 LACP和PAgP有什么區別&#xff1f;LACP與LAG的關系LACP模式更優于手動模式LACP模式對數據傳輸更加穩定和可靠LACP模式對聚合鏈路組的故障檢測更加準確和有效 推薦閱讀 LACP名詞解釋 LACP&…

day11 前k個高頻元素

// 小頂堆 class mycomparison { public: bool operator()(const pair<int, int>& lhs, const pair<int, int>& rhs) { return lhs.second > rhs.second; } }; vector<int> topKFrequent(vector<int>& nums, int k) { // 要統計元素出現…

智能外呼有什么好處?

智能外呼是一種自動化的電話營銷方式&#xff0c;利用AI智能外呼技術和大量數據分析&#xff0c;幫助企業實現與客戶之間的高效、精準、個性化的客戶溝通&#xff0c;還可以在客戶服務、市場營銷和銷售等方面帶來助力。那么&#xff0c;智能外呼有什么好處呢&#xff1f; 1. 提…

spring IOC bean為什么默認是單例的

首先解釋一下什么是單例 bean&#xff1f; 單例的意思就是說在 Spring IoC 容器中只會存在一個 bean 的實例&#xff0c;無論一次調用還是多次調用&#xff0c;始終指向的都是同一個 bean 對象 用代碼來解釋單例 bean public class UserService {public void sayHello() {Syst…

交叉編譯工具鏈makefile

linux系統默認搜索頭文件地址&#xff1a;/usr/include/文件夾&#xff1b; Windows系統默認搜索頭文件地址&#xff1a;不同軟件好像可以設置不同的地址&#xff1b;例如visual studio好像可以設置附加包含目錄&#xff0c;包含目錄等 Linux系統庫文件路徑&#xff1a;/lib文…

通過生成模擬釋放無限數據以實現機器人自動化學習

該工作推出RoboGen&#xff0c;這是一種生成機器人代理&#xff0c;可以通過生成模擬自動大規模學習各種機器人技能。 RoboGen 利用基礎模型和生成模型的最新進展。該工作不直接使用或調整這些模型來產生策略或低級動作&#xff0c;而是提倡一種生成方案&#xff0c;該方案使用…

命運天注定?

羅翔老師經常說&#xff1a;人這一生&#xff0c;能自己決定的也許只有5&#xff05;&#xff0c;有95%是你決定不了的。 不是說事在人為&#xff0c;人定勝天嗎&#xff1f; 哪吒也在電影的高潮喊出了&#xff1a;我命由我不由天。 聽上去很熱血&#xff0c;但實際咱們每個…

Java泛型:詳解使用技巧及舉例說明

Java泛型&#xff1a;詳解使用技巧及舉例說明 1. 引言 Java泛型是一項強大的編程概念&#xff0c;它允許我們編寫通用的代碼&#xff0c;在編寫代碼時不需要預先指定具體的數據類型。泛型的引入解決了在傳統的編程中需要頻繁進行類型轉換的問題&#xff0c;提高了代碼的安全性…

simulink MATLABFunction模塊中實時函數調用函數的使用

樣例 function Predyy matlabceshi(input, Time_s) input1 input; Time_s1 Time_s; Predyy ee(input1) mm(Time_s1); end 上面是主要部分&#xff0c;下面是被調用部分 function A ee(input1) A input1 * 100; end function B mm(Time_s1) B Time_s1 * 100; end 模型…

算法競賽---反悔貪心

反悔貪心 Work Scheduling G 什么是返回貪心呢&#xff0c;就是先選擇&#xff0c;遇到更好的之后在反悔選擇更好的&#xff0c;這是符合貪心的邏輯的。 #include <bits/stdc.h> // https://www.luogu.com.cn/problem/P2949 using namespace std; struct node {int d,…

Linux(ubuntu)利用ffmpeg+qt設計rtsp_rtmp流媒體播放器(完全從0開始搭建環境進行開發)

一、前言 從0開始搭建Linux下Qt、ffmpeg開發環境。 從安裝虛擬機開始、安裝Linux(Ubuntu)系統、安裝Qt開發環境、編譯ffmpeg源碼、配置ffmpeg環境、編寫ffmpeg項目代碼、完成項目開發。 完全從0開始搭建環境進行開發 完全從0開始搭建環境進行開發 完全從0開始搭建環境進行開…

公務員國考省考小白需知

文章目錄&#xff1a; 一&#xff1a;分類 1.國考 2.省考 二&#xff1a;必備途徑 1.相關網站 1.1 官網 1.1.1 必須知道的 1.1.2 比較好用的 1.1.3 事業單位的 1.2 機構 ??1.3 時事 ??1.4 資源 1.5 題庫 1.6 真題 ?2.相關公主號 3.應用 4.群聊如何找 三…