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