本地insert overwrite local directory "/tmp/zhuqinghua"
select user, login_time from user_login;
select userid ,count(*), num from bi.test where date_time = '2018-01-01' group by date_time,userid order by num desc limit 10;
hdfs
insert overwrite directory "/tmp/zhuqinghua"
select user, login_time from user_login;
select userid ,count(*), num from bi.uniuserride_by_city_daily where date_time = '2018-01-01' group by date_time,userid order by num desc limit 10;
/etc/init.d/hive-server2 status
/etc/init.d/hive-server2 stop
/etc/init.d/hive-server2 start
hive>create database database_name;建立資料庫
hive>creat database if not exists database_name
hive> show databases; 檢視資料庫
hive> show databases like 'h.*';如果資料庫比較多的話,也可以用正規表示式來檢視:
hive> use default; --使用哪個資料庫
hive>show tables; --檢視該資料庫中的所有表
hive>show tables 『*t*』; --支援模糊查詢
hive> describe tab_name; --檢視表的結構及表的路徑
hive> describe database database_name; --檢視資料庫的描述及路徑
hive> drop database if exists database_name; --刪除空的資料庫
hive> drop database if exists database_name cascade; --先刪除資料庫中的表再刪
hive>show partitionst1; --檢視表有哪些分割槽
hive>alter table table_name rename to another_name; --修改表名
hive>drop tablet1; --刪除表t1
hive> drop table if exists t1;
hive不支援修改表中資料,但是可以修改表結構,而不影響資料
有local的速度明顯比沒有local慢:
hive>load data inpath '/root/inner_table.dat' into table t1; 移動hdfs中資料到t1表中
hive>load data local inpath '/root/inner_table.dat' into table t1; 上傳本地資料到hdfs中
load data local inpath '$/目錄'overwrite into table table_namepartition (分割槽);
建立表orc壓縮儲存
create table if not exists record_orc ( rid string,
uid string,
bid string,
price int,
source_province string, target_province string, site string, express_number string, express_company string, trancation_date date
stored as orc;
insert into table record_orc select * from record;
hive SQL查詢結果新增行號
用視窗函式可以解決這個問題 例 select row number over order by user id desc tab.from dws user visit month1 as tab limit 20 結果 其實要是單純想加乙個自增的行號,沒有順序要去的話 over 裡面可以空著 例 ...
Hive sql 查詢連續登入天數
目前有兩列資料,分別是使用者id和使用者登入的時間,現需要統計使用者連續登入的最大天數,中間如有斷開,則不算連續,如下圖示例。在hive中進行操作,首先啟動hadoop集群環境,進入到hadoop安裝目錄,sbin start dfs.sh,jps檢視hadoop集群有無正常啟動 正常啟動後,輸入h...
mysql將查詢結果儲存到檔案
1.新建查詢語句檔案query.sql,內容如下 set names utf8 select feedid,city message from feed limit 1000 上面的set names utf8語句是設施當前使用的編碼,如果編碼和資料庫的編碼不一致,會出現亂碼 2.執行如下 root...