對於hive使用的一點記錄


最近一段時間因工作需要接觸了一些hive上的使用!當然大部分都是比較基本的使用,僅當入門!各位看到有不足之處望多多指正!

廢話不多說,開始:

首先是創建數據庫

create database ‘數據庫名稱’

創建外部表(大部分時候我使用的是外部表):

CREATE EXTERNAL TABLE tmp.lng_lat(
lng string,
lat string)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
'field.delim'=',',
'line.delim'='\n',
'serialization.format'=',')
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
'/user/guojienan/tmp/tmp1/lng_lat'

注意 “ ' ” 並不是引號  是鍵盤左上角的 “ ~ ” 號! 

LOCATION
'/user/guojienan/tmp/tmp1/lng_lat'
是指外表存放路徑!
 
停用臨時表
drop table 數據庫名稱.表名
查看建表語句:
show create table
插入數據:
向外表插入數據
insert into table tmp.tmp_xiaoqutong
SELECT(查詢語句) from
直接數據插入分區
INSERT INTO TABLE test_olap_event PARTITION (date='2018-01-19',hour='02') values('1',88888888,7777777)
覆蓋插入
INSERT OVERWRITE TABLE test_olap_event PARTITION (date='2018-01-19',hour='02') values('1',88888888,7777777)
 
連接函數的一點用法
concat、concat_ws、group_concat函數用法
一、concat()函數可以連接一個或者多個字符串
  CONCAT(str1,str2,…) 返回結果為連接參數產生的字符串。如有任何一個參數為NULL ,則返回值為 NULL。
  select concat('11','22','33');     112233
二、CONCAT_WS(separator,str1,str2,...) 
  是CONCAT()的特殊形式。第一個參數是其它參數的分隔符。分隔符的位置放在要連接的兩個字符串之間。分隔符可以是一個字符串,也可以是其它參數。
    select concat_ws(',','11','22','33');    11,22,33
三、group_concat()分組拼接函數
  group_concat([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
  對下面的一組數據使用 group_concat()
  | id |name
  |1 | 10|
  |1 | 20|
  |1 | 20|
  |2 | 20|
  |3 | 200   |
  |3 | 500   |
  1、select id,group_concat(name) from aa group by id;
  |1 | 10,20,20|
  |2 | 20 |
  |3 | 200,500|
  2、select id,group_concat(name separator ';') from aa group by id;
  |1 | 10;20;20 |
  |2 | 20|
  |3 | 200;500   |
  3、select id,group_concat(name order by name desc) from aa group by id;
  |1 | 20,20,10   |
  |2 | 20|
  |3 | 500,200|
  4、select id,group_concat(distinct name) from aa group by id;
  |1 | 10,20|
  |2 | 20   |
  |3 | 200,500 |
 
 
 
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM