黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 基礎(chǔ)面試題,Java校招筆試題目

基礎(chǔ)面試題,Java校招筆試題目

更新時(shí)間:2020-05-09 13:47:58 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2576次

   1.hive表關(guān)聯(lián)查詢,如何解決數(shù)據(jù)傾斜的問題?

    傾斜原因:

    map輸出數(shù)據(jù)按keyHash的分配到reduce中,由于key分布不均勻、業(yè)務(wù)數(shù)據(jù)本身的特、建表時(shí)考慮不周、等原因造成的reduce上的數(shù)據(jù)量差異過大。

    1)、key分布不均勻;

    2)、業(yè)務(wù)數(shù)據(jù)本身的特性;

    3)、建表時(shí)考慮不周;

    4)、某些SQL語句本身就有數(shù)據(jù)傾斜;

    如何避免:對于key為空產(chǎn)生的數(shù)據(jù)傾斜,可以對其賦予一個(gè)隨機(jī)值。

    解決方案

    1>.參數(shù)調(diào)節(jié):

    hive.map.aggr=true

    hive.groupby.skewindata=true

    有數(shù)據(jù)傾斜的時(shí)候進(jìn)行負(fù)載均衡,當(dāng)選項(xiàng)設(shè)定位true,生成的查詢計(jì)劃會(huì)有兩個(gè)MRJob。第一個(gè)MRJob中,Map的輸出結(jié)果集合會(huì)隨機(jī)分布到Reduce中,每個(gè)Reduce做部分聚合操作,并輸出結(jié)果,這樣處理的結(jié)果是相同的GroupByKey有可能被分發(fā)到不同的Reduce中,從而達(dá)到負(fù)載均衡的目的;第二個(gè)MRJob再根據(jù)預(yù)處理的數(shù)據(jù)結(jié)果按照GroupByKey分布到Reduce中(這個(gè)過程可以保證相同的GroupByKey被分布到同一個(gè)Reduce中),最后完成最終的聚合操作。

    2>.SQL語句調(diào)節(jié):

    1)、選用joinkey分布最均勻的表作為驅(qū)動(dòng)表。做好列裁剪和filter操作,以達(dá)到兩表做join的時(shí)候,數(shù)據(jù)量相對變小的效果。

    2)、大小表Join:

    使用mapjoin讓小的維度表(1000條以下的記錄條數(shù))先進(jìn)內(nèi)存。在map端完成reduce.

    4)、大表Join大表:

    把空值的key變成一個(gè)字符串加上隨機(jī)數(shù),把傾斜的數(shù)據(jù)分到不同的reduce上,由于null值關(guān)聯(lián)不上,處理后并不影響最終結(jié)果。

    5)、countdistinct大量相同特殊值:

    countdistinct時(shí),將值為空的情況單獨(dú)處理,如果是計(jì)算countdistinct,可以不用處理,直接過濾,在最后結(jié)果中加1。如果還有其他計(jì)算,需要進(jìn)行g(shù)roupby,可以先將值為空的記錄單獨(dú)處理,再和其他計(jì)算結(jié)果進(jìn)行union。

    2.請談一下hive的特點(diǎn)是什么?hive和RDBMS有什么異同?

    hive是基于Hadoop的一個(gè)數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運(yùn)行。其優(yōu)點(diǎn)是學(xué)習(xí)成本低,可以通過類SQL語句快速實(shí)現(xiàn)簡單的MapReduce統(tǒng)計(jì),不必開發(fā)專門的MapReduce應(yīng)用,十分適合數(shù)據(jù)倉庫的統(tǒng)計(jì)分析。

    hive存儲的數(shù)據(jù)量比較大,適合海量數(shù)據(jù),適合存儲軌跡類歷史數(shù)據(jù),適合用來做離線分析、數(shù)據(jù)挖掘運(yùn)算,事務(wù)性較差,實(shí)時(shí)性較差

    rdbms一般數(shù)據(jù)量相對來說不會(huì)太大,適合事務(wù)性計(jì)算,實(shí)時(shí)性較好,更加接近上層業(yè)務(wù)

    hive的計(jì)算引擎是hadoop的mapreduce,存儲是hadoop的hdfs文件系統(tǒng)

    rdbms的引擎由數(shù)據(jù)庫自己設(shè)計(jì)實(shí)現(xiàn)例如mysql的innoDB,存儲用的是數(shù)據(jù)庫服務(wù)器本地的文件系統(tǒng)

    hive由于基于hadoop所以存儲和計(jì)算的擴(kuò)展能力都很好,

    rdbms在這方面比較弱,比如orcale的分表和擴(kuò)容就很頭疼

    hive表格沒有主鍵、沒有索引、不支持對具體某一行的操作,適合對批量數(shù)據(jù)的操作,不支持對數(shù)據(jù)的update操作,更新的話一般是先刪除表然后重新落數(shù)據(jù)

    rdbms事務(wù)性強(qiáng),有主鍵、索引,支持對具體某一行的增刪改查等操作

    hive的SQL為HQL,與標(biāo)準(zhǔn)的RDBMS的SQL存在有不少的區(qū)別,相對來說功能有限

    rdbms的SQL為標(biāo)準(zhǔn)SQL,功能較為強(qiáng)大。

    3.Multi-groupby是hive的一個(gè)非常好的特性,請舉例說明?

    fromA

    insertoverwritetableB

    selectA.a,count(distinctA.b)groupbyA.a

    insertoverwritetableC

    selectA.c,count(distinctA.b)groupbyA.c

    4.請說明hive中SortBy,OrderBy,ClusterBy,DistrbuteBy各代表什么意思

    orderby:會(huì)對輸入做全局排序,因此只有一個(gè)reducer(多個(gè)reducer無法保證全局有序)。只有一個(gè)reducer,會(huì)導(dǎo)致當(dāng)輸入規(guī)模較大時(shí),需要較長的計(jì)算時(shí)間。

    sortby:不是全局排序,其在數(shù)據(jù)進(jìn)入reducer前完成排序。

    distributeby:按照指定的字段對數(shù)據(jù)進(jìn)行劃分輸出到不同的reduce中。

    clusterby:除了具有distributeby的功能外還兼具sortby的功能。

    5.簡要描述數(shù)據(jù)庫中的null,說出null在hive底層如何存儲,并解釋selecta.*fromt1aleftouterjoint2bona.id=b.idwhereb.idisnull;語句的含義

    null與任何值運(yùn)算的結(jié)果都是null,可以使用isnull、isnotnull函數(shù)指定在其值為null情況下的取值。

    null在hive底層默認(rèn)是用'\N'來存儲的,可以通過altertabletestSETSERDEPROPERTIES('serialization.null.format'='a');來修改。

    這段語句目的是查詢出t1表中與t2表中id相等的所有信息。

    6.寫出hive中split、coalesce及collect_list函數(shù)的用法(可舉例)

    split將字符串轉(zhuǎn)化為數(shù)組。

    split('a,b,c,d',',')==>["a","b","c","d"]

    COALESCE(Tv1,Tv2,…)返回參數(shù)中的第一個(gè)非空值;如果所有值都為NULL,那么返回NULL。

    collect_list列出該字段所有的值,不去重selectcollect_list(id)fromtable;

    7.寫出將text.txt文件放入hive中test表‘2016-10-10’分區(qū)的語句,test的分區(qū)字段是l_date。

    LOADDATALOCALINPATH'/your/path/test.txt'OVERWRITEINTOTABLEtestPARTITION(l_date='2016-10-10')

    8.請把下一語句用hive方式實(shí)現(xiàn)?

    SELECTa.key,a.value

    FROMa

    WHEREa.keynotin(SELECTb.keyFROMb)

    selecta.key,a.valuefromawherea.keynotexists(selectb.keyfromb)

基礎(chǔ)面試題,Java校招筆試題目

 以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“基礎(chǔ)面試題,Java校招筆試題目”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 日日摸夜夜添夜夜添aa | 欧美日本高清一本二本三本 | 欧美国产成人一区二区三区 | 国产xxxx做受性欧美88 | 免费一级毛片私人影院a行 免费一级毛片视频 | 日本a在线天堂 | 麻豆91hd | 久久综合久久久 | 美女又美女又黄又免费网站 | 最近免费中文完整视频观看 | 99视频免费在线 | 99精品影视 | 一区二区三区在线 | 网站 | 2020年最新国产精品视频免费 | 2021精品国内一区视频自线 | 黄色福利视频网站 | 免费视频a| 黄色短视频免费在线观看 | 成人中文字幕一区二区三区 | 2018天天爽天天玩天天拍 | 欧美无内丝袜大尺度福利写真 | 大学生一级毛片全黄真人 | 黄色片视频在线免费观看 | 欧美成人中文字幕在线视频 | 日韩美女一级毛片a | h羞羞涩涩动漫在线观看 | 性激烈的欧美三级视频中文字幕 | 久久久噜久噜久久综合 | 黄色片视频在线观看 | a级黄色毛片视频 | 成人精品视频 成人影院 | 久热99| 插菊综合 | 日韩精品第二页 | 国产精品福利小视频 | 中文字幕日韩三级 | a一级毛片免费播放 | 狠狠干天天爽 | 免费观看黄色的网站 | 国产综合激情在线亚洲第一页 | 午夜在线观看网站 |