HIVE基本使用

2021-08-28 00:23:16 字數 2395 閱讀 2870

筆者注:這裡安裝的版本為hive-0.13.1

注:表示可選

create database [if not exists] db_hive ;

use db_hive ;

drop database [if exists] db_hive;

create table stu (id int ,name string) 

row format delimited fields terminated by ',' ;

行格式化 用,分隔字段

show tables ;

檢視表結構

desc stu;

檢視詳細資訊

desc extended stu ;

檢視詳細資訊(格式化)

desc formatted stu;

vi stu.txt 自己準備一下資料按,分隔就好

load data local inpath '/root/hive_datas/stu.txt' into table db_hive.stu ;

把檔案對映到表中。

預設的資料庫倉庫路徑/user/hive/warehouse,建立的資料庫在它的下面,表當然在資料庫下面啦,

檔案載入到表的路徑下面啦。把檔案載入到表啦。

default資料庫下直接建立stu表 位置也是在/user/hive/warehouse下面啦 有乙個資料夾stu

注意:養成好的習慣,在表名前面加上資料庫的名字。

執行select 查詢,當檔案中字段和分隔符不能對應表中的資料和分隔符時,會出現null的情況,可以仔細檢查一下,然後先刪除truncate表的資料,再load匯入一下,它預設是繼續追加的。

show functions ;

檢視乙個函式的功能

desc function sum ;

檢視乙個函式的詳細功能

desc function extended upper ;

應用:select id,upper(name) from stu;

原來的日誌檔案

hive.log.threshold=all

hive.root.logger=warn,d***

hive.log.dir=$/$

hive.log.file=hive.log

可以輸出 echo $

沒有的話1.cd /tmp 2.然後cd 當前使用者目錄下 3.ll 會看到有乙個hive.log的檔案 4.tail -f hive.log 檢視日誌

修改日誌檔案(對應目錄自己建立)

再次啟動的時候便可以看到日誌檔案的位置改變了。

exit;

退出之後設定的資訊就失效了。僅僅在當前會話有效

檢視當前所有的配置資訊 set;

設定值 set key=value;

檢視某個值 set key;

設定logger執行的級別

bin/hive --hiveconf hive.root.logger = info,console;

查詢2.bin/hive -e "select ..." 

執行乙個sql檔案。

3.bin/hive -f "/../../***.sql"

4.執行乙個sql檔案並重定向輸出

bin/hive -f "/../../***.sql" > path

hive (default)> dfs -rm -r /user/hive/warehouse/stu;

hive (default)> ! ls /root/hive_datas ;

在新版的oracle中沒區別了,在以前的版本是有的:

exit:先隱性提交資料,再退出;

quit:不提交資料,退出;

Hive基本使用

啟動hadoop sbin start all.sh 啟動hive bin hive 建立表 create table table name col name data type comment col comment create table hive wordcount context stri...

Hive基本使用

hive基本使用 庫操作 建立庫 進入終端 beeline u jdbc hive2 n user 判斷是否存在並新增注釋 create database if not exists zxl test comment hive test 新增屬性 create database if not exi...

Hive 3 Hive 基本使用

1 建立庫 create database if not exists mydb 2 檢視庫 show databases 3 切換資料庫 use mydb 4 建立表 create table if not exists t user id string,name string 或 create ...