使用hive進行資料開發

2021-10-12 17:56:21 字數 4087 閱讀 3624

3-1 hive環境搭建

啟動:hive

3-2 hive-helloworld

檢視所有資料庫:

- show databases;

進入default資料庫:

- use default;

檢視資料庫中所有表:

- show tables;

檢視表結構:

- desc table_name;

刪除表:

- drop table db_name.table_name;

建立表:

- create table db_name.table_name(id bigint, name string);

插入資料:

- insert overwrite table db1.table1 select 100.』hellpworld』 from db2.table2;

查詢表:

- select * from db1.table1;

3-3 show 用法

顯示所有表:

- show tables;

- show tables like 『*order*』;

- show tables like 『…_order』;

顯示所有分割槽:

- show partitions;

- show partitions table_name partition(dt=『2018-12-01』);

- show partitions table_name partition(dt=『2018-12-01』,hour=01);

顯示表的擴充套件資訊:

- show table extended;

- show table extended like table_name;

顯示所有表的屬性:

- show table properties;

- show tblproperties table_name(『external』);

顯示所有索引:

- show indexes on table_name;

- 建立索引:create index idx_name1 on table table_name(id) as 『compact』 with deferred rebuild;

顯示建表語句:

- show create table table_name;

顯示所有資料庫:

- show databases;

- show schemas;

- show databases like 『*dm*』;

顯示所有列:

- show columns from table_name;

顯示所有函式:

- show functions;

- show functions 『.*f.*』;(注意:相當於like的語法,但是不加like)

顯示所有角色與許可權:

- show granted roles and privileges;

顯示鎖:

- show locks;

顯示配置檔案:

- show conf;

顯示事務:

- show transactions;

3-4 desc(describe)用法

顯示某資料庫詳情:desc databases;

- desc database db_name;

- desc database extended db_name;

顯示表,檢視,列的詳情:desc table/view/column

- desc table_name;(檢視表)

- desc formatted table_name;(檢視**式化之後的資訊)

- desc extended table_name;(檢視擴充套件資訊)

顯示列詳情(0.14才支援):display columnm statistics

- desc table_name.column_name;(檢視列)

- desc formatted table_name.column_name;(檢視**式化之後的資訊)

顯示分割槽詳情:desc partition

- desc table_name partiton(dt=『2015-01-01』)

3-5 命令

hive的命令分一下幾類:

- 進入與退出hive互動,比如:hive、quit、exit

- 引數設定:set、reset

- 資源檔案管理:add、list、delete

- 執行shell命令:!cmd

- hdfs檔案操作:dfs-ls、dfs-cat

- hiveql:- 執行外部檔案:source file、compile`` `as groovy named`

引數設定命令:

- 顯示所有關於hive引數:set;

- 顯示所有引數(包含系統、hadoop……):set -v;

- 檢視具體預設值:set mapred.reduce.tasks;set mapred.reduce.tasks=30;

- 重置所有引數:reset;

- 重置具體值:reset mapred.reduce.tasks;

- 具體篩選:hive -e 『set;』|grep task;

執行外部shell命令(加感嘆號,不支援管道、重定向和互動式):

- !ls

- !clear;

hdfs檔案操作命令:

- 檢視:dfs -ls /user/hadoop;

- 建立資料夾:dfs -mkdir /user/hadoop/lisa;

- 刪除資料夾:dfs -rm -r /user/hadoop/lisa;

資源檔案管理:

- 新增檔案:add file /home/hadoop/lisa.sql;

- 檢視檔案:list file;

- 刪除檔案:delete file /home/hadoop/lisa.sql;

query string:

- select * from db_name.table_name limit 10;

3-6 hive 命令列介面

hive命令列介面引數

-d,--define 定義乙個變數在hive中使用

-e 執行單引號或者雙引號內的sql

- hive -e 「select * from db_name.table_name limit 10;」

- hive -e 「select * from db_name.table_name limit 10;」|grep 10.0

- hive -e 「select * from db_name.table_name limit 10;」|grep 10.0 > test.txt

- wc test.txt (wc:統計指定檔案中的位元組數、字數、行數,並將統計結果顯示輸出。)

-f 執行乙個sql檔案中的sql

- hive -f test.sql

- hive -f test.sql > test.txt

-h,--help 列印幫助資訊

- hive -h;

-i 執行初始化檔案

- hive -i test.sql -e 「select * from db_name.table_name limit 10;」

-p 連線hive伺服器的埠號

-h 連線到遠端主機

--hiveconf 設定屬性

--hivevar 設定變數

-s 靜默模式,不會列印一些日誌

- hive -s -e 「select * from db_name.table_name limit 10;」

-v,--verbose 冗餘模式,會列印出執行的語句和執行日誌

- hive -v -e 「select * from db_name.table_name limit 10;」

直接進入資料庫:

- hive --database db_name;

Hive進行資料抽樣 隨機抽取

3.hive隨機抽取 4.mysql隨機抽樣 原來的50 select from liyang tablesample 50percent 30m select from liyang tablesample 30m 200行 每個map200行 select from liyang tablesa...

使用SSIS進行資料清洗

原文 使用ssis進行資料清洗 oltp系統的後端關聯式資料庫用於儲存不同種類的資料,理論上來講,資料庫中每一列的值都有其所代表的特定含義,資料也應該在存入資料庫之前進行規範化處理,比如說 age 列,用於儲存人的年齡,設定的資料型別為int型別。存入資料庫的值是2000雖然看起來沒有任何問題,但結...

使用python進行資料清洗

1 在資料清洗前,我們需要先檢視資料概況,了解我們需要清洗的資料大概包含什麼字段 每個字段下面資料範圍大概如何,資料清洗常用到的函式和語法分別有 info函式 用於了解資料總體情況,包括行數,列數,各列名稱等,比如 shape函式 用於檢視資料矩陣的行和列 describe函式 了解datafram...