Hive-常用操作

一. 數據庫操作

1、創建數據庫
//用戶可以用 IF NOT EXISTS 選項來忽略這個異常。create database [ if not exists ] myhive ;
2、創建數據庫并指定hdfs存儲位置
create database myhive2 location '/myhive2';
3、修改數據庫,可以使用alter database 命令來修改數據庫的一些屬性。但是數據庫的元數據信息是不可更改的,包括數據庫的名稱以及數據庫所在的位置
alter  database  myhive2  set  dbproperties('createtime'='202004090');
4、查看數據庫詳細信息

①查看數據庫基本信息

desc  database  myhive2;

②查看數據庫更多詳細信息

desc database extended  myhive2;  
5、刪除數據庫

① 刪除一個空數據庫,如果數據庫下面有數據表,那么就會報錯

drop  database  myhive2;

②強制刪除數據庫,包含數據庫下面的表一起刪除

drop  database  myhive  cascade; 
//包含數據庫下面的表一起刪除; 不要執行,危險動作
6、數據庫切換
 use myhive(自己的數據庫名稱);

二、Hive的字段類型

分類類型描述字面量實例
原始類型BOOLEANtrue/falseTRUE
TINYINT1字節的有符號整數 -128~1271Y
SMALLINT2個字節的有符號整數,-32768~327671S
INT4個字節的帶符號整數1
BIGINT8字節帶符號整數1L
FLOAT4字節單精度浮點數1.0
DOUBLE8字節雙精度浮點數1.0
DEICIMAL任意精度的帶符號小數1.0
STRING字符串,變長“a”,’b’
VARCHAR變長字符串“a”,’b’
CHAR固定長度字符串“a”,’b’
BINARY字節數組無法表示
TIMESTAMP時間戳,毫秒值精度122327493795
DATE日期‘2020-04-29’
INTERVAL時間頻率間隔
復雜類型ARRAY有序的的同類型的集合array(1,2)
MAPkey-value,key必須為原始類型,value可以任意類型map(‘a’,1,’b’,2)
STRUCT字段集合,類型可以不同struct(‘1’,1,1.0), named_stract(‘col1’,’1’,’col2’,1,’clo3’,1.0)
UNION在有限取值范圍內的一個值create_union(1,’a’,63)

三、內部表操作

1、創建基本數據表(內部表)

create table tableName(字段名稱 字段類型,字段名稱 字段類型)
ROW FORMAT DELIMITED IELDS TERMINATED BY char(char分隔符)
指定數據中字段與字段的分隔符 ‘\t’ 或 ‘,’ 或 ‘|’ 或其他
2、創建表并指定字段之間的分隔符
create  table if not exists stu2(id int ,name string) row format delimited fields terminated by '\t' stored as textfile location '/user/stu2';
3、根據查詢結果創建表
create table stu3 as select * from stu2;
4、根據已經存在的表結構創建表
create table stu4 like stu2;
1
5、查詢表的類型
desc formatted  stu2;

三、外部表操作

1. 外部表說明

外部表因為是指定其他的hdfs路徑的數據加載到表當中來,所以hive表會認為自己不完全獨占這份數據,所以刪除hive表的時候,數據仍然存放在hdfs當中,不會刪掉。

2. 管理表和外部表的使用場景

每天將收集到的網站日志定期流入HDFS文本文件。在外部表(原始日志表)的基礎上做大量的統計分析,用到的中間表、結果表使用內部表存儲,數據通過SELECT+INSERT進入內部表。

1、分別創建老師與學生表外部表,并向表中加載數據

create EXTERNAL table tableName(字段名稱 字段類型,字段名稱 字段類型)
建外部表需要指定數據的存儲路徑。通過LOCATION進行指定。

①創建老師表:

create external table techer (t_id string,t_name string) row format delimited fields terminated by '\t';
1

②創建學生表:

create external table student (s_id string,s_name string,s_birth string , s_sex string ) row format delimited fields terminated by '\t';
1
2、 從本地文件系統向表中加載數據
load data local inpath ‘文件路徑’ into table 表名;
1
3、加載數據并覆蓋已有數據
load data local inpath ‘文件路徑’ overwrite into table 表名;
4、 從hdfs文件系統向表中加載數據(需要提前將數據上傳到hdfs文件系統,其實就是一個移動文件的操作)
cd /export/servers/hivedatas
hdfs dfs -mkdir -p /hivedatas
hdfs dfs -put techer.csv /hivedatas/
load data inpath '/hivedatas/techer.csv' into table techer;

四、修改表

1. 表重命名
	alter  table  old_table_name  rename  to  new_table_name;//把表score4修改成score5alter table score4 rename to score5;
2. 增加/修改列信息
  • 查詢表結構
desc score5;
  • 添加列
alter table score5 add columns (mycol string, mysco string);
  • 查詢表結構
desc score5;
  • 更新列
alter table score5 change column mysco mysconew int;
  • 查詢表結構
desc score5;
  • 刪除表數據
truncate table 表名; 
3.刪除表
drop table score5;

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

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

相關文章

linux下nmap工具的使用

nmap NMap,也就是Network Mapper,是Linux下的網絡掃描和嗅探工 具包,其基本功能有三個,一是探測一組主機是否在線;其次是掃描主機端口,嗅探所提供的網絡服務;還可以推斷主機所用的操作系統 。N…

Hive-分區分桶概述

一、分區 簡介 為了對表進行合理的管理以及提高查詢效率,Hive可以將表組織成“分區”。 分區是表的部分列的集合,可以為頻繁使用的數據建立分區,這樣查找分區中的數據時就不需要掃描全表,這對于提高查找效率很有幫助。 分區是…

定時提醒你休息的腳本

本文來源于阿里西西WEB開發社區http://www.alixixi.com收集整理,歡迎訪問。 定時彈窗提醒功能腳本..把以下代碼存為.vbs運行即可. 以下是引用片段:set WshShell WScript.CreateObject("WScript.Shell") ’對話框標題 alerttitle "你的…

Hive-分區分桶操作

在大數據中,最常用的一種思想就是分治,我們可以把大的文件切割劃分成一個個的小的文件,這樣每次操作一個小的文件就會很容易了,同樣的道理,在hive當中也是支持這種思想的,就是我們可以把大的數據&#xff0…

ubuntu好文收集

ubuntu全程配置手冊 http://ljlau.blogdriver.com/ljlau/1220277.html ubuntu下向系統日志寫記錄 http://linux0818.bokee.com/viewdiary.14153197.html aptitude 使用快速參考 http://linuxtoy.org/archives/aptitude_quick_reference.html

Flume簡單介紹

在一個完整的離線大數據處理系統中,除了HDFSMapReduceHive組成分析系統的核心之外,還需要數據采集、結果數據導出、任務調度等不可或缺的輔助系統,而這些輔助工具在hadoop生態體系中都有便捷的開源框架,在此,我們首先來…

linux系統優化篇之---top

top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似于Windows的任務管理器。下面詳細介紹它的使用方法。 top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, …

Flume安裝部署

1.安裝部署 1、解壓tar -zxvf apache-flume-1.9.0-bin.tar.gz 2、改名mv apache-flume-1.9.0-bin flume-1.9.0 3、配置環境變量 vi /etc/profile,source /etc/profile #flume export FLUME_HOME/usr/local/apps/flume-1.9.0 export PATH$PATH:$FLUME_HOME/bin4、將conf下的…

ubuntu學習摘要-ubuntu root用戶

在我安裝好后root的密碼是什么?我怎樣使用root帳號? 當你第一次安裝好Ubuntu后,root帳號不能用。在安裝期間創建的第一個用戶對系統有管理權,通過“sudo”能象root運行程序.使用時僅需它的普通用戶密碼。例如: sudo apt-get updat…

Elasticsearch 簡介入門

Elasticsearch 是一個分布式的開源搜索和分析引擎,適用于所有類型的數據,包括文本、數字、地理空間、結構化和非結構化數據。Elasticsearch 在 Apache Lucene 的基礎上開發而成,由 Elasticsearch N.V.(即現在的 Elastic&#xff0…

Elasticsearch 7.x 安裝及配置

一、下載安裝 1、下載地址:https://www.elastic.co/cn/downloads/elasticsearch 2、解壓安裝:tar -zxcf elasticsearch-7.9.0-linux-x86_64.tar.gz 二、新建es用戶 在某個版本以后,elasticsearch為了安全性,是不能用root用戶啟…

Ubuntu下面apache2安裝

Ubuntu為我們提供了 su apt-get install 命令,通過它你可以很方便地安裝一些軟件,這些軟件是放在Ubuntu放置在各個地方的服務器上面,如果你想安裝的軟件是比較常見的,一般都可以通過它來下載.當然 Apache 這個軟件服務器上面是有…

Java并發篇_樂觀鎖與悲觀鎖

樂觀鎖對應于生活中樂觀的人總是想著事情往好的方向發展,悲觀鎖對應于生活中悲觀的人總是想著事情往壞的方向發展。 一、引入概念 1、悲觀鎖 總是假設最壞的情況,每次去拿數據的時候都認為別人會修改,所以每次在拿數據的時候都會上鎖&#…

Redhat與ubuntu配置網卡

redhat linux中設置網卡固定ip之前在xwindow下的redhat-config-network 設置網卡固定ip發現不起作用,設置好后就是ping不通。就查了些資料,更改 /etc/sysconfig/network-scripts/ifcfg-eth0(第一個網卡為eth0),配置dns的文件為 /etc/resolv.c…

SSH軟件包:Sftp,scp和ssh-agent

這篇文章的中心是介紹在ssh軟件包中非常有用的程序如:sftp,scp,ssh-agent,和ssh-add。在下文中我們假設sshd2守護進程很好地被設置并且運行良好。Sftp和scp總覽讓我們把注意力集中到sftp和scp上。第一個(sftp安全文件傳…

JAVA并發篇_公平鎖與非公平鎖

簡單的來說,如果一個線程組里,能保證每個線程都能拿到鎖,那么這個鎖就是公平鎖。相反,如果保證不了每個線程都能拿到鎖,也就是存在有線程餓死,那么這個鎖就是非公平鎖。 一、引入概念 1、公平鎖&#xff1…

Java并發篇_進程線程

一個進程包括由操作系統分配的內存空間,包含一個或多個線程。一個線程不能獨立的存在,它必須是進程的一部分。一個進程一直運行,直到所有的非守護線程都結束運行后才能結束。 多線程能滿足程序員編寫高效率的程序來達到充分利用 CPU 的目的。…

Real提示“作為受限用戶,您無足夠的windows操作權限”的解決辦法

運行Regedit.exe,翻到HKEY_CLASSES_ROOT/Software,刪除Software;然后關閉注冊表,再運行Regedit.exe,翻到HKEY_CLASSES_ROOT/Software,點右鍵選擇“權限”,各個組都設置為“完全控制”和“讀取”…

Java并發篇_線程詳解

線程(thread) 是操作系統能夠進行運算調度的最小單位。它被包含在進程之中,是進程中的實際運作單位。一條線程指的是進程中一個單一順序的控制流,一個進程中可以并發多個線程,每條線程并行執行不同的任務。 一、線程的…

修改MYSQL最大連接數的3種方法

MYSQL數據庫安裝完成后,默認最大連接數是100,一般流量稍微大一點的論壇或網站這個連接數是遠遠不夠的,增加默認MYSQL連接數的方法有兩個 方法一:進入MYSQL安裝目錄 打開MYSQL配置文件 my.ini 或 my.cnf查找 max_connections100 …