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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Hive的数据模型—桶表

發(fā)布時(shí)間:2025/3/11 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hive的数据模型—桶表 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


概述

桶表是對(duì)數(shù)據(jù)進(jìn)行哈希取值,然后放到不同文件中存儲(chǔ)。

數(shù)據(jù)加載到桶表時(shí),會(huì)對(duì)字段取hash值,然后與桶的數(shù)量取模。把數(shù)據(jù)放到對(duì)應(yīng)的文件中。
物理上,每個(gè)桶就是表(或分區(qū))目錄里的一個(gè)文件,一個(gè)作業(yè)產(chǎn)生的桶(輸出文件)和reduce任務(wù)個(gè)數(shù)相同。


作用

桶表專門用于抽樣查詢,是很專業(yè)性的,不是日常用來(lái)存儲(chǔ)數(shù)據(jù)的表,需要抽樣查詢時(shí),才創(chuàng)建和使用桶表。


實(shí)驗(yàn)

創(chuàng)建

[22:39:03]hive (zmgdb)> create table bucket_t1(id string)
[22:39:26] ? ? ? ? ? ?> clustered by(id) into 6 buckets;
[22:39:27]OK
[22:39:27]Time taken: 0.546 seconds
clustered by:以哪個(gè)字段分桶。對(duì)id進(jìn)行哈希取值,隨機(jī) ?地放到4個(gè)桶里。

-----------------------------


準(zhǔn)備數(shù)據(jù)

[root@hello110 data]# vi bucket_test
1
2
3
4
5
6

.............

.........


導(dǎo)入數(shù)據(jù)

正確的導(dǎo)入方式:從日常保存數(shù)據(jù)的表insert


[21:27:45]hive (zmgdb)> create table t2(id string);
[21:27:45]OK
[21:27:45]Time taken: 0.073 seconds
[21:28:24]hive (zmgdb)> load data local inpath '/data/bucket_test' into table t2;
[21:28:24]Loading data to table zmgdb.t2
[21:28:25]OK

從日常表導(dǎo)入

[22:39:47]hive (zmgdb)> insert overwrite table bucket_t1 select id from t2;

hive會(huì)啟動(dòng)mapreduce
[22:39:48]WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
[22:39:48]Query ID = hadoop_20160922063946_34bf30c4-3f23-43e9-ad8f-edd5ee214948
[22:39:48]Total jobs = 1
[22:39:48]Launching Job 1 out of 1
[22:39:48]Number of reduce tasks determined at compile time: 6
[22:39:48]In order to change the average load for a reducer (in bytes):
[22:39:48] ?set hive.exec.reducers.bytes.per.reducer=<number>
[22:39:48]In order to limit the maximum number of reducers:
[22:39:48] ?set hive.exec.reducers.max=<number>
[22:39:48]In order to set a constant number of reducers:
[22:39:48] ?set mapreduce.job.reduces=<number>
[22:39:51]Starting Job = job_1474497386931_0001, Tracking URL = http://hello110:8088/proxy/application_1474497386931_0001/
[22:39:51]Kill Command = /home/hadoop/app/hadoop-2.7.2/bin/hadoop job ?-kill job_1474497386931_0001
[22:39:59]Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 6
[22:39:59]2016-09-22 06:39:59,419 Stage-1 map = 0%, ?reduce = 0%
[22:40:06]2016-09-22 06:40:05,828 Stage-1 map = 100%, ?reduce = 0%, Cumulative CPU 1.63 sec
[22:40:12]2016-09-22 06:40:12,347 Stage-1 map = 100%, ?reduce = 17%, Cumulative CPU 3.48 sec
[22:40:16]2016-09-22 06:40:15,739 Stage-1 map = 100%, ?reduce = 33%, Cumulative CPU 5.4 sec
[22:40:17]2016-09-22 06:40:16,807 Stage-1 map = 100%, ?reduce = 50%, Cumulative CPU 7.52 sec
[22:40:19]2016-09-22 06:40:18,929 Stage-1 map = 100%, ?reduce = 83%, Cumulative CPU 11.35 sec
[22:40:20]2016-09-22 06:40:19,991 Stage-1 map = 100%, ?reduce = 100%, Cumulative CPU 13.19 sec
[22:40:21]MapReduce Total cumulative CPU time: 13 seconds 190 msec
[22:40:21]Ended Job = job_1474497386931_0001
[22:40:21]Loading data to table zmgdb.bucket_t1
[22:40:22]MapReduce Jobs Launched:?
[22:40:22]Stage-Stage-1: Map: 1 ?Reduce: 6 ? Cumulative CPU: 13.19 sec ? HDFS Read: 25355 HDFS Write: 1434 SUCCESS
[22:40:22]Total MapReduce CPU Time Spent: 13 seconds 190 msec
[22:40:22]OK
[22:40:22]id
[22:40:22]Time taken: 34.91 seconds



錯(cuò)誤的導(dǎo)入方式:從文件load data?

hive (zmgdb)> create table bucket_t2 like bucket_t1;
OK
Time taken: 0.707 seconds

hive (zmgdb)> load data local inpath '/data/bucket_test' into table bucket_t2;
Loading data to table zmgdb.bucket_t2
OK
Time taken: 1.485 seconds



沒(méi)有啟動(dòng)mapreduce對(duì)數(shù)據(jù)進(jìn)行哈希取值,只是簡(jiǎn)單的原樣導(dǎo)入,沒(méi)有起到抽樣查詢的目的。通過(guò)select * from 比較會(huì)發(fā)現(xiàn)bucket_t1的數(shù)據(jù)和bucket_t2的數(shù)據(jù)順序是不同的,bucket_t2的表順序與原數(shù)據(jù)文件順序一致,沒(méi)有做過(guò)哈希取值。


查詢

select * from bucket_table tablesample(bucket x out of y on column);
tablesample是抽樣語(yǔ)句
語(yǔ)法解析:TABLESAMPLE(BUCKET x OUT OF y on 字段)
y必須是table總bucket數(shù)的倍數(shù)或者因子。
hive根據(jù)y的大小,決定抽樣的比例。
例如,table總共分了64份,當(dāng)y=32時(shí),抽取(64/32=)2個(gè)bucket的數(shù)據(jù),當(dāng)y=128時(shí),抽取(64/128=)1/2個(gè)bucket的數(shù)據(jù)。x表示從哪個(gè)bucket開(kāi)始抽取。
例如,table總bucket數(shù)為32,tablesample(bucket 3 out of 16),表示總共抽取(32/16=)2個(gè)bucket的數(shù)據(jù),分別為第3個(gè)bucket和第(3+16=)19個(gè)bucket的數(shù)據(jù)。如果是y=64,則抽取半個(gè)第3個(gè)桶的值。


[22:44:31]hive (zmgdb)> select * from bucket_t1 tablesample (bucket 1 out of 6 on id);
[22:44:31]OK
[22:44:31]bucket_t1.id
[22:44:31]6
[22:44:31]iu
[22:44:31]0
[22:44:31]6
[22:44:31]hj
[22:44:31]6
[22:44:31]6
[22:44:31]51
[22:44:31]
[22:44:31]
[22:44:31]r
[22:44:31]99
[22:44:31]0
[22:44:31]57
[22:44:31]loo
[22:44:31]r
[22:44:31]r
[22:44:31]r
[22:44:31]60
[22:44:31]66
[22:44:31]75
[22:44:31]6
[22:44:31]84
[22:44:31]x
[22:44:31]24
[22:44:31]93
[22:44:31]99
[22:44:31]105
[22:44:31]f
[22:44:31]r
[22:44:31]114
[22:44:31]0
[22:44:31]123
[22:44:31]129
[22:44:31]132
[22:44:31]x
[22:44:31]138
[22:44:31]141
[22:44:31]147
[22:44:31]33
[22:44:31]150
[22:44:31]156
[22:44:31]r
[22:44:31]f
[22:44:31]39
[22:44:31]15
[22:44:31]r
[22:44:31]ddd
[22:44:31]
[22:44:31]06
[22:44:31]hj
[22:44:31]f
[22:44:31]l
[22:44:31]f
[22:44:31]f
[22:44:31]f
[22:44:31]f
[22:44:31]42
[22:44:31]f
[22:44:31]r
[22:44:31]r
[22:44:31]f
[22:44:31]f
[22:44:31]r
[22:44:31]48
[22:44:31]6
[22:44:31]Time taken: 0.142 seconds, Fetched:66 row(s)


[22:44:43]hive (zmgdb)> select * from bucket_t1 tablesample (bucket 1 out of 60 on id);
[22:44:43]OK
[22:44:43]bucket_t1.id
[22:44:43]
[22:44:43]
[22:44:43]loo
[22:44:43]x
[22:44:43]114
[22:44:43]132
[22:44:43]x
[22:44:43]150
[22:44:43]ddd
[22:44:43]

[22:44:43]Time taken: 0.064 seconds, Fetched: 10 row(s)




創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的Hive的数据模型—桶表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕亚洲无线码在线一区 | 不许穿内裤随时挨c调教h苏绵 | 一区二区不卡视频 | 嫩草国产 | 乳罩脱了喂男人吃奶视频 | 五月天丁香久久 | 午夜九九九| 亚洲熟妇丰满大屁股熟妇 | 91导航| 蜜臀av一区二区三区有限公司 | 一区二区三区国 | 亚洲黄色av | 国产在线中文字幕 | 男人的天堂av女优 | av啊啊 | 中文字幕中出 | 中文字幕永久在线播放 | 国产精品国产一区二区三区四区 | 亚洲一级在线观看 | 精品人妻午夜一区二区三区四区 | 中文字幕乱码人妻无码久久95 | 精品热 | 欧美一级一区 | 成年人在线视频免费观看 | 亚洲男女视频 | 炕上如狼似虎的呻吟声 | 美丽的姑娘在线观看免费 | 欧美视频四区 | 中日精品一色哟哟 | 欧美一级二级在线观看 | 日韩av不卡在线 | 精品无码一区二区三区蜜臀 | 久久成人a毛片免费观看网站 | 欧洲一区二区在线观看 | 国产不卡一区 | www.999热| 一区二区三区四区在线视频 | 2017日日夜夜 | 成人深夜福利 | 久久大陆 | 国产精品成人免费一区二区视频 | 久青草视频 | 日韩毛片高清在线播放 | jizz国产视频 | 东北女人啪啪ⅹxx对白 | 黑人操中国女人视频 | 欧美精品自拍偷拍 | 国产免费a级片 | 久久国产传媒 | 黑人粗进入欧美aaaaa | jzzijzzij日本成熟少妇 | 少妇人妻真实偷人精品视频 | 久草视频精品在线 | fexx性欧美 | 国产刺激对白 | 夜夜嗨av一区二区三区免费区 | 日本十大三级艳星 | 欧美揉bbbbb揉bbbbb | 国产夫妻自拍小视频 | 中文乱码人妻一区二区三区视频 | 国产又粗又黄又猛 | 国产性猛交xx乱 | 天堂素人约啪 | 色欲狠狠躁天天躁无码中文字幕 | 国产不卡在线观看 | 色中色综合 | 乖女从小调教h尿便器小说 欧美韩一区二区 | 男人的天堂视频在线观看 | 黄色一级国产 | 免费v片在线观看 | 国产在线视视频有精品 | 日日射av| av片免费播放 | 国产乱妇4p交换乱免费视频 | 天天在线观看 | 黄网站在线观看 | 日韩经典av| 欧美女人天堂 | www.伊人.com| 毛片网站免费观看 | 成色网| 婷婷综合五月 | 国产成人99久久亚洲综合精品 | 国产精品一区二区三区在线免费观看 | 免费簧片在线观看 | 欧美一区二区性久久久 | 久久99精品国产.久久久久久 | 农村少妇无套内谢粗又长 | 人人干人人插 | 欧美一级日韩一级 | 日本一区二区色 | 亚洲视频精品在线 | 免费看黄色三级 | 欧洲精品一区二区三区久久 | 欧美丝袜一区二区 | 国产av天堂无码一区二区三区 | 色欲久久久天天天综合网精品 | 另类激情综合 | 日产精品久久久久久久蜜臀 |