老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Hive中怎么實現動態分區

本篇文章為大家展示了Hive中怎么實現動態分區,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

創新互聯建站是一家專業提供高坪企業網站建設,專注與網站建設、成都網站設計、H5建站、小程序制作等業務。10年已為高坪眾多企業、政府機構等服務。創新互聯專業網站建設公司優惠進行中。

動態分區調整

  • 動態分區屬性:設置為true表示開啟動態分區功能(默認為false)hive.exec.dynamic.partition=true;

  • 動態分區屬性:設置為nonstrict,表示允許所有分區都是動態的(默認為strict)設置為strict,表示必須保證至少有一個分區是靜態的hive.exec.dynamic.partition.mode=strict;

  • 動態分區屬性:每個mapper或reducer可以創建的最大動態分區個數hive.exec.max.dynamic.partitions.pernode=100;

  • 動態分區屬性:一個動態分區創建語句可以創建的最大動態分區個數hive.exec.max.dynamic.partitions=1000;

  • 動態分區屬性:全局可以創建的最大文件個數hive.exec.max.created.files=100000;

  • 控制DataNode一次可以打開的文件個數  這個參數必須設置在DataNode的$HADOOP_HOME/conf/hdfs-site.xml文件中

     dfs.datanode.max.xcievers     8192 

注意

在Hive中,動態分區會造成在插入數據過程中,生成過多零碎的小文件

動態分區插入

如果需要創建非常多的分區,用戶就需要寫非常多的條件查詢sql把數據插入對應分區。好在Hive提供了動態分區功能,可以根據分區字段的取值自動創建分區。前面列出的開啟動態分區hive.exec.dynamic.partition,并且hive.exec.dynamic.partition.mode需要為非嚴格模式,通常如果分區很多的話,hive.exec.max.dynamic.partitions.pernode也需要設置為一個較大的數,否則會有報錯提醒。

現在有sql:

insert overwrite table employees partitions (country, state) select ...,se.cnty, se.st from staged_employees se;

可以看出,Hive根據select語句中最后兩列來確定分區字段country和state的值,這里刻意使用了不同的命名,就是為了強調源表字段和輸出分區值之間的關系是根據位置而不是根據命名來匹配的。

動靜分區結合

也可以混合使用動態和靜態分區。上面那個例子,我們可以指定國家這個分區值五為靜態值US,而分區字段state是動態值:

insert overwrite table employees partitions (country = 'US', state) select ...,se.cnty, se.st from staged_employees se where se.cnty = 'US';

注意:靜態分區需要出現在動態分區字段之前。

動態分區功能默認情況下是沒有開啟的,默認是以嚴格模式執行,這種模式下要求至少有一列分區字段是靜態的。這樣做的好處是可以防止因設計或其它錯誤查詢導致產生大量的分區,比如sql  boy不小心使用了時間戳作為分區字段,那將是災難。在日常導入一天的數據,通常是指定日期為靜態分區,小時為動態分區,進行混合模式導入。

例子

建表

create table if not exists test.test ( id string, name string ) partitioned by (dt string,hour string) row format delimited fields terminated by '\t';  create table if not exists test.test2 ( id string, name string ) partitioned by (dt string,hour string) row format delimited fields terminated by '\t' stored as orc;

導入數據到test.test表

load data local inpath '/home/hadoop/data/test.txt' into table test.test partition(dt = '2019-09-10', hour = '02');  test.txt 001    keguang 002    kg 003    kk 004    ikeguang

利用動態分區插入

insert overwrite table test.test2 partition(dt, hour) select `(dt|hour)?+.+`,dt,hour from test.test;

上述內容就是Hive中怎么實現動態分區,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。


新聞名稱:Hive中怎么實現動態分區
本文鏈接:http://www.xueling.net.cn/article/jcggje.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 福利看片盒子永久国产 | 中文字幕av久久激情亚洲精品 | 国产免费又色又爽又黄软件 | 国产精品无码一区二区三区免费 | 亚洲高清欧美日韩一区二区三区 | 国产区亚洲区 | 成人网站www污污污网站 | 国产91福利视频 | 国产精品免费高清在线观看 | 免费国产欧美国日产A | 97在线观看免费观看高清 | 久久精品国产精品国产一区 | 最近2018中文字幕视频免费看 | 久久久久久国产精品美女 | 久久久久久影视 | 91青青草| 亚洲啊v在线 | 欧美又粗又大色情hd堕落街传奇 | 免费无码AV污污污在线观看 | 免费播放大片免费观看视频 | 日韩在线观看免费一二三区 | 女人的毛片 | 99久久国产综合精品无码 | 天美传媒精品1区2区3区 | 国产精品无码翘臀在线京东 | 中文字幕一区在线无码视频 | 精品亚洲国产成人A片在线观看 | 国产精品一区hongkongdoll | 成人永久免费网站在线观看 | 三男一女吃奶添下面视频 | 色拍拍在线精品视频 | 亚洲视频重口味 | 国产精品白浆无码流出系列 | 国产成人a视频高清在线观看 | 一区二区色 | 欧美一区内射最近更新 | 日本黄色录像片 | 91精品国产欧美一区二区 | 国产亚洲一区二区手机在线观看 | 日本女人一区二区 | 99久久无码一区人妻A片孕妇 |