日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MapReduce基础开发之七Hive外部表分区

發布時間:2025/4/16 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MapReduce基础开发之七Hive外部表分区 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MapReduce輸出的數據在實際應用中會加載在不同子目錄下,比如按照日期、地區等,然后統一到外部表,這就需要用到hive表的分區。

假設輸出的數據放在/tmp/fjs/dpi父目錄下,下面分別有三個類型的數據作為子目錄保存,分別是/tmp/fjs/dpi/adsl、/tmp/fjs/dpi/3g、/tmp/fjs/dpi/4g,具體分區如下:

Hive表:tmp_fjs_dpi

1)?建表腳本:

設置分區為DPI類型,分別是adsl、3g、4g

CREATE EXTERNAL TABLE`tmp_fjs_dpi`(

? `account` string,

`date` string,

`city` string,

`domain` string,

? `para` string,

? `value` string)

PARTITIONED BY (

? `dpitype` string)

ROW FORMAT DELIMITED

? FIELDS TERMINATED BY '|'

STORED AS INPUTFORMAT

? 'org.apache.hadoop.mapred.TextInputFormat'

OUTPUTFORMAT

?'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'

LOCATION

? 'hdfs://nameservice-ha/tmp/fjs/dpi';

2)分區腳本:

查看分區:show partitionstmp_fjs_dpi;

增加分區:

alter table tmp_fjs_dpiadd partition (dpitype ='adsl') location 'adsl';

alter table tmp_fjs_dpiadd partition (dpitype ='3g') location '3g';

alter table tmp_fjs_dpiadd partition (dpitype ='4g') location '4g';

刪除分區:

alter table tmp_fjs_dpidrop partition (dpitype ='4g');

3)查詢結果:

select count(*) fromtmp_fjs_dpi where dpitype='adsl';

結果:92564960

select count(*) fromtmp_fjs_dpi where dpitype='3g';

結果:636277

select count(*) fromtmp_fjs_dpi where dpitype='4g';

結果:3828847

select para, count(*)from tmp_fjs_dpi group by para;

結果:

imei??? 97030084

?


總結

以上是生活随笔為你收集整理的MapReduce基础开发之七Hive外部表分区的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。