版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
大數(shù)據(jù)技術(shù)之高頻面試題
目錄
第I章項目涉及技術(shù)13
1.1Linux&Shell13
1.1.1Linux常用高級命令13
1.1.2Shell常用工具及寫過的腳本13
1.1.3Shell中提交了一個腳本,進(jìn)程號已經(jīng)不知道了,但是需要kill掉這個進(jìn)程,
怎么操作?14
1.1.4Shell中單引號和雙引號區(qū)別14
1.2Hadoop15
1.2.1Hadoop常用端口號15
1.2.2Hadoop配置文件15
1.2.3HDFS讀流程和寫流程16
1.2.4HDFS小文件處理16
1.2.5HDFS的NameNode內(nèi)存17
1.2.6NameNode心跳并發(fā)配置17
1.2.7糾刪碼原理17
1.2.8異構(gòu)存儲(冷熱數(shù)據(jù)分離)18
1.2.9Shuffle及優(yōu)化18
1.2.10Yarn工作機(jī)制20
1.2.11Yam調(diào)度器20
1.2.12項目經(jīng)驗之基準(zhǔn)測試21
1.2.13Hadoop宕機(jī)21
1.2.14Hadoop解決數(shù)據(jù)傾斜方法22
1.3Zookeeper22
1.3.1常用命令22
1.3.2Paxos算法和ZAB協(xié)議(擴(kuò)展)22
1.3.3講一講什么是CAP法則?Zookeeper符合了這個法則的哪兩個?(擴(kuò)展)23
1.3.4選舉機(jī)制23
1.3.5Follower和Leader狀態(tài)同步24
大數(shù)據(jù)技術(shù)之高頻面試題
1.4Flume24
1.4.1Flume組成,Put事務(wù),Take事務(wù)24
1.4.2Flume攔截器26
1.4.3FlumeChannel選擇器27
1.4.4Flume監(jiān)控器27
1.4.5Flume采集數(shù)據(jù)會丟失嗎?(防止數(shù)據(jù)丟失的機(jī)制)27
1.5Kafka27
1.5.1Kafka架構(gòu)27
1.5.2Kafka的機(jī)器數(shù)量29
1.5.3副本數(shù)設(shè)定29
1.5.4Kafka日志保存時間29
1.5.5Kafka中數(shù)據(jù)量計算30
1.5.6磁盤選擇30
1.5.7內(nèi)存選擇30
1.5.8CPU選擇31
1.5.9網(wǎng)絡(luò)選擇31
1.5.10Kafka監(jiān)控31
1.5.9Kakfa分區(qū)數(shù)31
1.5.10多少個Topic32
1.5.11Kafka的ISR副本同步隊列32
1.5.12Kalka分區(qū)分配策略32
1.5.13Kalka掛掉33
1.5.14Kafka丟不丟數(shù)據(jù)34
1.5.15Kafka數(shù)據(jù)重復(fù)34
1.5.16數(shù)據(jù)有序36
1.5.17數(shù)據(jù)亂序36
1.5.18服役新節(jié)點退役舊節(jié)點36
1.5.19LeaderPartition選舉規(guī)則36
1.5.20手動調(diào)整分區(qū)副本存儲37
1.5.21增加分區(qū)37
1.5.22增加副本因子37
1.5.23Kafka過期數(shù)據(jù)清理37
1.5.24Kafka高效讀寫數(shù)據(jù)38
1.5.25自動創(chuàng)建主題38
1.5.26消費者再平衡的條件39
大數(shù)據(jù)技術(shù)之高頻面試題
1.5.27指定Offset消費39
1.5.28指定時間消費40
1.5.29Kafka數(shù)據(jù)積壓40
1.5.30如何提升吞吐量40
1.5.31Kafka單條日志傳輸大小41
1.5.32Ka&a消費者角度考慮是拉取數(shù)據(jù)還是推送數(shù)據(jù)41
1.5.33Kafka參數(shù)優(yōu)化41
1.6Hive45
1.6.1Hive的架構(gòu)及HQL轉(zhuǎn)換為MR流程45
1.6.2Hive和數(shù)據(jù)庫比較47
1.6.3內(nèi)部表和外部表47
1.6.44個By區(qū)另U47
1.6.5系統(tǒng)函數(shù)48
1.6.6自定義UDF、UDTF函數(shù)48
1.6.7窗口函數(shù)48
1.6.8Hive優(yōu)化49
1.6.9Hive解決數(shù)據(jù)傾斜方法51
1610Hive里邊字段的分隔符用的什么?為什么用\t?有遇到過字段里邊有\(zhòng)t的情
況嗎,怎么處理的?53
1.6.1ITez引擎優(yōu)點?53
1.6.12MySQL元數(shù)據(jù)備份54
1.6.13Union與Unionall區(qū)另lj55
1.7Datax55
1.7.1速度控制55
1.7.2內(nèi)存調(diào)整55
1.7.3空值處理55
1.7.4配置文件生成腳本56
1.7.5HDFS導(dǎo)出時要求,源路徑下不能有空文件56
1.7.5datax一天導(dǎo)入多少數(shù)據(jù)57
1.8Maxwell57
1.8.1好處57
1.8.2底層原理57
1.8.3全量同步速度如何57
1.9DolphinScheduler調(diào)度器57
2
大數(shù)據(jù)技術(shù)之高頻面試題
1.9.1每天集群運行多少指標(biāo)?57
1.9.2任務(wù)掛了怎么辦?57
1.10Scala58
1.10.1開發(fā)環(huán)境58
1.10.2變量和數(shù)據(jù)類型58
1.10.3流程控制58
1.10.4函數(shù)式編程58
1.10.5面向?qū)ο?8
1.10.6集合58
1.10.7模式匹配58
1.10.8異常58
1.10.9隱式轉(zhuǎn)換58
1.10.10泛型58
1.11SparkCore&SQL59
1.11.1Spark解決什么問題59
1.11.2Spark為什么會有自己的資源調(diào)度器59
1.11.3Spark運行模式59
1.11.4Spark常用端口號59
1.11.5簡述Spark的架構(gòu)與作業(yè)提交流程(畫圖講解,注明各個部分的作用)(重
點)60
1.11.6Spark任務(wù)使用什么進(jìn)行提交,JavaEE界面還是腳本60
1.11.7Spark提交作業(yè)參數(shù)(重點)60
1.11.8RDD五大屬性61
1.11.9Spark的transformation算子(不少于8個)(重點)61
1.1LIOSpark的action算子(不少于6個)(重點)62
1.11.11map和mapPartitions區(qū)另lj63
1.11.12Repartition和Coalesce區(qū)另U63
1.11.13reduceByKey與groupByKey的區(qū)別63
1.11.14reduceByKey、foldByKey、aggregateByKey、combineByKey區(qū)另lj63
1.11.15Kryo序列化63
1.11.16Spark中的血緣(筆試重點)64
1.11.17Spark任務(wù)的劃分64
1.11.18cache緩存級別64
1.11.19釋放緩存和緩存64
1.11.20緩存和檢查點區(qū)別64
3
大數(shù)據(jù)技術(shù)之高頻面試題
1.11.21Spark分區(qū)65
1.11.22Spark累力口器65
1.11.23Spark廣播變量66
1.11.24SparkSQL中RDD、DataFrame、DataSet三者的轉(zhuǎn)換(筆試重點)66
1.11.25請列舉會引起Shuffle過程的Spark算子,并簡述功能。66
1.11.26當(dāng)Spark涉及到數(shù)據(jù)庫的操作時,如何減少Spark運行中的數(shù)據(jù)庫連接數(shù)?
67
1.11.27如何使用Spark實現(xiàn)TopN的獲?。枋鏊悸坊蚴褂脗未a)(重點)67
1.11.28京東:調(diào)優(yōu)之前與調(diào)優(yōu)之后性能的詳細(xì)對比(例如調(diào)整map個數(shù),map個
數(shù)之前多少、之后多少,有什么提升)67
1.11.29SparkShuffle默認(rèn)并行度67
1.11.30控制Sparkreduce緩存調(diào)優(yōu)shuffle67
1.11.31Spark內(nèi)核源碼(重點)68
1.12SparkStreaming71
1.12.1SparkStreaming第一次運行不丟失數(shù)據(jù)71
1.12.2SparkStreaming精準(zhǔn)一次消費71
1.12.3SparkStreaming控制每秒消費數(shù)據(jù)的速度72
1.12.4SparkStreaming背壓機(jī)制72
1.12.5SparkStreaming—stage耗時72
1.12.6SparkStreaming優(yōu)雅關(guān)閉72
1.12.7SparkStreaming默認(rèn)分區(qū)個數(shù)72
1.12.8SparkStreaming有哪幾種方式消費Kafka中的數(shù)據(jù),它們之間的區(qū)別是什么?
72
1.12.9簡述SparkStreaming窗口函數(shù)的原理(重點)73
1.13數(shù)據(jù)傾斜74
1.13.1數(shù)據(jù)傾斜表現(xiàn)74
1.13.2數(shù)據(jù)傾斜產(chǎn)生原因74
1.13.3解決數(shù)據(jù)傾斜思路76
1.13.4定位導(dǎo)致數(shù)據(jù)傾斜代碼77
1.13.5查看導(dǎo)致數(shù)據(jù)傾斜的key分布情況79
1.13.6Spark數(shù)據(jù)傾斜的解決方案79
1.13.7Spark數(shù)據(jù)傾斜處理小結(jié)97
1.14Flink97
1.14.1簡單介紹一下Flink97
1.14.2Hink星艮SparkStreaming的區(qū)另198
4
大數(shù)據(jù)技術(shù)之高頻面試題
1.14.3Flink集群有哪些角色?各自有什么作用?99
1.14.4Flink的編程模型是什么?99
1.14.5公司怎么提交的實時任務(wù),有多少JobManager?有多少TaskManager?
100
1.14.6Flink的并行度了解嗎?Flink的并行度設(shè)置是怎樣的?100
1.14.7Flink的keyby怎么實現(xiàn)的分區(qū)?分區(qū)、分組的區(qū)別是什么?100
1.14.8Flink的intervaljoin的實現(xiàn)原理?join不上的怎么辦?101
1.14.9介紹一下Flink的狀態(tài)編程、狀態(tài)機(jī)制?101
1.14.10Flink的三種時間語義101
1.14.11Flink中的Walermark機(jī)制101
1.14.12Watermark是數(shù)據(jù)嗎?怎么生成的?怎么傳遞的?102
1.14.13Watermark的生成方式?102
1.14.14說說Flink中的窗口(分類、生命周期、觸發(fā)、劃分)102
1.14.15Exactly-Once的保證103
1.14.16Flink分布式快照的原理是什么103
1.14.17Checkpoint的參數(shù)怎么設(shè)置的?104
1.14.18介紹一下Flink的CEP機(jī)制104
1.14.19FlinkCEP編程中當(dāng)狀態(tài)沒有到達(dá)的時候會將數(shù)據(jù)保存在哪里?104
1.14.20FlinkSQL的工作機(jī)制?105
1.14.21FlinkSQL怎么對SQL語句進(jìn)行優(yōu)化的?105
1.14.22Flink提交流程、組件通訊、調(diào)度機(jī)制、任務(wù)執(zhí)行、內(nèi)存模型(重點).106
1.14.23Flink優(yōu)化、背壓、數(shù)據(jù)傾斜(重點)109
1.14.24Flink常見的維表Join方案109
1.15HBase110
1.15.1HBase存儲結(jié)構(gòu)110
1.15.2RowKey設(shè)計原則110
1.15.3RowKey如何設(shè)計110
1.15.4Phoenix二級索引(講原理)112
1.16Sqoop112
1.16.1Sqoop參數(shù)112
1.16.2Sqoop導(dǎo)入導(dǎo)出Null存儲一致性問題112
1.16.3Sqoop數(shù)據(jù)導(dǎo)出一致性問題112
1.16.4Sqoop底層運行的任務(wù)是什么113
1.16.5Sqoop一天導(dǎo)入多少數(shù)據(jù)113
1.16.6Sqoop數(shù)據(jù)導(dǎo)出的時候一次執(zhí)行多長時間113
5
大數(shù)據(jù)技術(shù)之高頻面試題
1.16.7Sqoop在導(dǎo)入數(shù)據(jù)的時候數(shù)據(jù)傾斜113
1.16.8Sqoop數(shù)據(jù)導(dǎo)出Parquet(項目中遇到的問題)113
1.17Azkaban114
1.17.1每天集群運行多少指標(biāo)?114
1.17.2任務(wù)掛了怎么辦?114
第2章項目架構(gòu)114
2.1提高自信114
2.2數(shù)倉概念115
2.3系統(tǒng)數(shù)據(jù)流程設(shè)計116
2.4框架版本選型116
2.5服務(wù)器選型117
2.6集群規(guī)模118
2.7人員配置參考119
2.7.1整體架構(gòu)119
2.7.2你們部門的職級等級,晉升規(guī)則119
2.7.3人員配置參考120
第3章數(shù)倉建模121
3.1數(shù)據(jù)倉庫建模的意義121
3.2數(shù)據(jù)倉庫建模方法論121
3.2.1ER模型121
3.2.2維度模型121
3.3維度建模理論之事實表121
3.3.1事務(wù)型事實表121
3.3.2周期型快照事實表122
3.3.3累積型快照事實表123
3.4維度建模理論之事實表124
3.4.1概述124
3.4.2維度表設(shè)計步驟124
3.4.3維度設(shè)計要點125
3.5數(shù)據(jù)倉庫分層規(guī)劃126
3.6數(shù)據(jù)倉庫構(gòu)建流程126
3.6.1數(shù)據(jù)調(diào)研126
3.6.2明確數(shù)據(jù)域128
3.6.3構(gòu)建業(yè)務(wù)總線矩陣128
3.6.4ODS層129
6
大數(shù)據(jù)技術(shù)之高頻面試題
3.6.5DIM層129
3.6.6DWD層130
3.6.7明確統(tǒng)計指標(biāo)131
3.6.8DWS層133
3.6.9ADS層134
3.6.10建模工具是什么?136
3.7ODS層做了哪些事?137
3.8DIM/DWD層做了哪些事?137
3.8.1數(shù)據(jù)清洗137
3.8.2清洗的手段137
3.8.3清洗掉多少數(shù)據(jù)算合理137
3.8.4脫敏137
3.8.5維度退化137
3.8.6壓縮snappy138
3.8.7orc列式存儲138
3.9DWS層做了哪些事?138
3.9.1DWS層有幾張寬表138
3.9.2哪個寬表最寬?大概有多少個字段?139
3.9.3具體用戶行為寬表字段名稱139
3.9.4哪張表數(shù)據(jù)量最多140
3.10ADS層分析過哪些指標(biāo)140
3.10.1分析過的指標(biāo)(一分鐘至少說出30個指標(biāo))140
3.10.2留轉(zhuǎn)G復(fù)活指標(biāo)141
3.10.3哪個商品賣的好?142
3.11分析過最難的指標(biāo)142
第4章生產(chǎn)經(jīng)驗一業(yè)務(wù)142
4.1電商常識142
4.1.1SKU和SPU142
4.1.2訂單表跟訂單詳情表區(qū)別?142
4.2埋點行為數(shù)據(jù)基本格式(基本字段)143
4.2.1頁面143
4.2.2事件144
4.2.3曝光145
4.2.4啟動145
4.2.5錯誤146
7
大數(shù)據(jù)技術(shù)之高頻面試題
4.2.6埋點數(shù)據(jù)日志格式146
4.3電商業(yè)務(wù)流程148
4.4同步策略(重點)149
4.5即席查詢數(shù)據(jù)倉庫150
4.6數(shù)據(jù)倉庫每天跑多少張表,大概什么時候運行,運行多久?150
4.7活動的話,數(shù)據(jù)量會增加多少?怎么解決?150
4.8并發(fā)峰值多少?大概哪個時間點?151
4.9數(shù)倉中使用的哪種文件存儲格式151
4.10哪張表最費時間,有沒有優(yōu)化151
4.11哪張表數(shù)據(jù)量最大,是多少151
4.12用什么工具做權(quán)限管理151
4.13數(shù)倉當(dāng)中數(shù)據(jù)多久刪除一次151
第5章生產(chǎn)經(jīng)驗—測試上線相關(guān)151
5.1測試相關(guān)151
5.1.1公司有多少臺測試服務(wù)器?151
5.1.2測試環(huán)境什么樣?152
5.1.3測試數(shù)據(jù)哪來的?152
5.1.4如何保證寫的sql正確性(重點)152
5.1.5測試之后如何上線?152
5.2項目實際工作流程152
5.3項目中實現(xiàn)一個需求大概多長時間154
5.4項目在3年內(nèi)迭代次數(shù),每一個項目具體是如何迭代的。公司版本迭代多久一次,
迭代到哪個版本154
5.5項目開發(fā)中每天做什么事154
5.6實時項目數(shù)據(jù)計算155
5.6.1跑實時任務(wù),怎么分配內(nèi)存和CPU資源155
5.6.2跑實時任務(wù),每天數(shù)據(jù)量多少?155
第6章生產(chǎn)經(jīng)驗一技術(shù)155
6.1可視化報表工具155
6.2集群監(jiān)控工具155
6.3項目中遇到的問題怎么解決的(重點*****)155
6.4Linux+Shell+Hadoop+ZK+Flume+kafka+Hive+Sqoop+DS那些事157
第7章生產(chǎn)經(jīng)驗一熱點問題157
7.1元數(shù)據(jù)管理(Atlas血緣系統(tǒng))157
7.2數(shù)據(jù)質(zhì)量監(jiān)控(Griffin)157
8
大數(shù)據(jù)技術(shù)之高頻面試題
7.2.1監(jiān)控原則157
7.2.2數(shù)據(jù)質(zhì)量實現(xiàn)159
7.3權(quán)限管理(Ranger)159
7.4數(shù)據(jù)治理159
7.5數(shù)據(jù)中臺161
7.5.1什么是中臺?162
7.5.2傳統(tǒng)項目痛點162
7.5.3各家中臺163
7.5.4中臺具體劃分164
7.5.5中臺使用場景165
7.6數(shù)據(jù)湖165
7.7埋點166
7.8電商運營經(jīng)驗167
7.8.1電商8類基本指標(biāo)167
7.8.2直播指標(biāo)170
第8章實時數(shù)倉項目174
8.1數(shù)據(jù)采集到ods層做了哪些事174
8.1.1前端埋點的行為數(shù)據(jù)為什么又采集一份?174
8.1.2為什么選擇kafka?175
8.1.3為什么用maxwell?歷史數(shù)據(jù)同步怎么保證一致性?175
8.1.4kafka保存多久?如果需要以前的數(shù)據(jù)怎么辦?175
8.2ods層175
8.3dwd+dim層175
8.3.1存儲位置,為什么維度表存Hbase?175
8.3.2埋點行為數(shù)據(jù)分流175
8.3.3業(yè)務(wù)數(shù)據(jù)動態(tài)分流176
8.4dwm層176
8.4.1為什么要加一個dwm層?176
8.4.2事實表與事實表join176
8.4.3事實表與維度表join177
8.4.4怎么保證緩存一致性178
8.5dws層178
8.5.1為什么選擇ClickHouse178
8.5.2輕度聚合178
8.6ads層178
9
大數(shù)據(jù)技術(shù)之高頻面試題
8.6.1實現(xiàn)方案178
8.6.2怎么保證ClickHouse的一致性?179
8.7監(jiān)控179
第9章手寫代碼179
9.1基本算法179
9.1.1冒泡排序179
9.1.2二分查找180
9.1.3快排182
9.1.4歸并183
9.1.5二叉樹之Scala實現(xiàn)184
9.2開發(fā)代碼189
9.2.1手寫Spark-WordCount189
9.3手寫HQL189
9.3.1手寫HQL第1題189
9.3.2手寫HQL第2題190
9.3.3手寫HQL第3題192
9.3.4手寫HQL第4題193
9.3.5手寫HQL第5題194
9.3.6手寫HQL第6題198
9.3.7手寫HQL第7題199
9.3.8手寫SQL第8題201
9.3.9手寫HQL第9題201
9.3.10手寫HQL第10題203
9.3.11手寫HQL第11題206
9.3.12連續(xù)問題211
9.3.13分組問題214
9.3.14間隔連續(xù)問題216
9.3.15打折日期交叉問題221
9.3.16同時在線問題223
第10章JavaSE225
10.1HashMap底層源碼,數(shù)據(jù)結(jié)構(gòu)225
10.2Java自帶哪幾種線程池?228
10.3HashMap和HashTable區(qū)別229
10.4TreeSet和HashSet區(qū)別230
10.5Stringbuffer和Stringbuild區(qū)另U230
大數(shù)據(jù)技術(shù)之高頻面試題
10.6FinakFinally>Finalize230
10.7==和Equals區(qū)另U231
第11章Redis231
11.1緩存穿透、緩存雪崩、緩存擊穿231
11.2哨兵模式232
10.3數(shù)據(jù)類型232
11.4持久化232
11.5悲觀鎖233
11.6樂觀鎖233
第12章MySql233
12.1MylSAM與InnoDB的區(qū)別233
12.2索引優(yōu)化233
12.3b-tree和b+tree的區(qū)別234
12.4redis是單線程的,為什么那么快234
12.5MySQL的事務(wù)234
第13章JVM236
13.1JVM內(nèi)存分哪幾個區(qū),每個區(qū)的作用是什么?236
13.2Java類加載過程?237
13.3java中垃圾收集的方法有哪些?238
13.4如何判斷一個對象是否存活?(或者GC對象的判定方法)238
13.5什么是類加載器,類加載器有哪些?239
13.6簡述Java內(nèi)存分配與回收策略以及MinorGC和MajorGC(fullGC)239
第14章JUC240
14.1Synchronized與Lock的區(qū)別240
14.2Runnable和Callable的區(qū)別240
14.3什么是分布式鎖240
14.4什么是分布式事務(wù)240
第15章面試說明240
15.1面試過程最關(guān)鍵的是什么?240
15.2面試時該怎么說?240
15.3面試技巧241
15.3.1六個常見問題241
15.3.2兩個注意事項242
15.3.3自我介紹(控制在4分半以內(nèi),不超過5分鐘)242
第16章LeetCode題目精選242
大數(shù)據(jù)技術(shù)之高頻面試題
16.1兩數(shù)之和242
16.1.1問題描述242
16.1.2參考答案242
16.2爬樓梯243
16.2.1問題描述243
16.2.2參考答案244
16.3翻轉(zhuǎn)二叉樹244
16.3.1問題描述244
16.3.2參考答案245
16.4反轉(zhuǎn)鏈表246
16.4.1問題描述246
16.4.2參考答案246
16.5LRU緩存機(jī)制246
16.5.1問題描述247
16.5.2參考答案247
16.6最長回文子串248
16.6.1問題描述249
16.6.2參考答案249
16.7有效的括號250
16.7.1問題描述250
16.7.2參考答案251
16.8數(shù)組中的第K個最大元素253
16.8.1問題描述253
16.8.2參考答案253
16.9實現(xiàn)Trie(前綴樹)256
16.9.1問題描述256
16.9.2參考答案256
16.10編輯距離258
16.10.1問題描述258
16.10.2參考答案259
大數(shù)據(jù)技術(shù)之高頻面試題
第1章項目涉及技術(shù)
1.1Linux&Shell
1.1.1Linux常用高級命令
序號命令命令解釋
1top查看內(nèi)存
2df-h查看磁盤存儲情況
3iotop查看磁盤10讀寫(yuminstalliotop安裝)
4iotop-o直接查看比較高的磁盤讀寫程序
5netstat-tunlp|grep端口號查看端口占用情況
6uptime查看報告系統(tǒng)運行時長及平均負(fù)載
7ps-ef查看進(jìn)程
1.1.2Shell常用工具及寫過的腳本
1)awk、sed>cut、sort2)
用Shell寫過哪些腳本
(1)集群啟動,分發(fā)腳本
#!/bin/bash
case$1in
“start”)
foriinhadoopl02hadoopl03hadoopl04
do
ssh$i“絕對路徑”
done
"stop")
,,
esac
13
大數(shù)據(jù)技術(shù)之高頻面試題
(2)數(shù)倉與MySQL的導(dǎo)入導(dǎo)出
MySQLHDFShive
sqoop(4個map)
除了sqoop之外還可以用:DataX、hadoop、java
驅(qū)動
主機(jī)名端口號
用戶名
密碼
路徑
刪除
同步策略:全量特殊新增新增和變化
query"selectid,namefromuserwhere創(chuàng)建時間=今天or操作時間=今天"
壓縮
列式存儲
(3)數(shù)倉層級內(nèi)部的導(dǎo)入:ods->dwd->dws->dwt->ads
①#!/bin/bash
②定義變量APP=gmall
③獲取時間
傳入按照傳入時間
不傳T+1
@sql="
先按照當(dāng)前天寫sql=>遇到時間$do_date遇到表{$APP}.
自定義函數(shù)UDFUDTF{$APP}.
⑤執(zhí)行sql
1.1.3Shell中提交了一個腳本,進(jìn)程號已經(jīng)不知道了,但是需要kill
掉這個進(jìn)程,怎么操作?
ssh$i"ps-ef|grepfile-flume-kafka|grep-vgrep|awk'{print\$2}'|xargskill"
1.1.4Shell中單引號和雙引號區(qū)別
I)在/home/atguigu/bin創(chuàng)建一個test.sh文件
[atguigu@hadoopl02bin]$vimtest.sh
在文件中添加如下內(nèi)容
#!/bin/bash
do_date=$l
echo'$do_date*
echon$do_daten
echo***$do_date'"
echo1n$do_daten'
echo'date'
2)查看執(zhí)行結(jié)果
[atguigu@hadoopl02bin]$test.sh2019-02-10
$dodate
14
大數(shù)據(jù)技術(shù)之高頻面試題
2019-02-10
,2019-02-10,
"$do_date"
2019庫05月02S星期四21:02:08CST
3)總結(jié):
(1)單引號不取變量值
(2)雙引號取變量值
(3)反引號執(zhí)行引號中命令
(4)雙引號內(nèi)部嵌套單引號,取出變量值
(5)單引號內(nèi)部嵌套雙引號,不取出變量值
1.2Hadoop
1.2.1Hadoop常用端口號
hadoop2.xHadoop3.x
訪問HDFS端口500709870
訪問MR執(zhí)行情況端口80888088
歷史服務(wù)器1988819888
客戶端訪問集群端口90008020
1.2.2Hadoop配置文件
配置文件:
hadoop2.xcore-site.xml>hdfs-site.xmKmapred-site.xml>yarn-site.xmlslaves
hadoop3.xcore-site.xml>hdfs-site.xmkmapred-site.xmRyarn-site.xmlworkers
15
大數(shù)據(jù)技術(shù)之高頻面試題
1.2.3HDFS讀流程和寫流程
沙HDFS的讀數(shù)據(jù)流程⑼商硅谷
客戶端
cieate
!lHDFSI
Iyh1請求卜教文件/user/atguigu/ss.avi
Distributed
FileSystem
read2返回口標(biāo)文件的元數(shù)據(jù)
dose
FSDatalnpu.
.
(Stream
200m
5請求讀數(shù)據(jù)blk_2
0-128m
ss.aviDataNodelDataNode2DataNode3
3請求讀數(shù)據(jù)blk_l
|7blk_l|
4傳輸數(shù)據(jù)6傳輸數(shù)據(jù)
|7blk,2|7blk_l7blk_l
夕HDFS的寫數(shù)據(jù)流程◎商硅谷
NameNode
客戶端檢查目錄樹是否可以創(chuàng)建文件
2.1檢杳權(quán)限:
ae^te
1向NameNode請求上傳文^h/user/atguigu/ss.avi2.2檢查目錄結(jié)構(gòu),目錄是否存在)
HDFS
dent
.Distributed2響應(yīng)可以上傳文件
“FileSystem請求上傳笫一個請返
3Block<0-128M>.WlDataNode元數(shù)據(jù)
副本存儲節(jié)點選擇
ck>?c4返回dnl.dn2,dn3節(jié)點,表示采用這三個節(jié)點存儲數(shù)據(jù)
4.1本地節(jié)點
FSDataOu42其他機(jī)契一個節(jié)點
tputStream4.3其他機(jī)獎另一個節(jié),
200m8傳輸數(shù)據(jù)完成
0-128m
DataNodelDataNode2DataNode3
6dnl應(yīng)答成功6dn2應(yīng)答成功6dn3應(yīng)答成功
ss.avi
5請求建立Block傳輸通道
請求建立通道5請求建立通道
Bytebuffer5BytebufferBytebuffer
…...?卜二:I
品.
7傳輸數(shù)據(jù)Packet<64k)I7b豈|I7i
packet(chunk512byte+chunksum4byte)
1.2.4HDFS小文件處理
1)會有什么影響
(1)存儲層面:
1個文件塊,占用namenode多大內(nèi)存150字節(jié)
128G能存儲多少文件塊?128g*1024m*1024kb*1024byte/150字節(jié)=9.1億文
件塊
(2)計算層面:
16
大數(shù)據(jù)技術(shù)之高頻面試題
每個小文件都會起到一個MapTask,1個MapTask默認(rèn)內(nèi)存1G。浪費資源。
2)怎么解決
(1)采用har歸檔方式,將小文件歸檔
(2)采用CombineTextlnputFormat
(3)有小文件場景開啟JVM重用;如果沒有小文件,不要開啟JVM重用,因為會一
直占用使用到的task卡槽,直到任務(wù)完成才釋放。
JVM重用可以使得JVM實例在同一個job中重新使用N次,N的值可以在Hadoop的
mapred?site.xml文件中進(jìn)行配置。通常在10-20之間
<property>
<name>mapreduce.job.jvm.numtasks</name>
<value>10</value>
<description>Howmanytaskstorunperjvm,ifsetto-1,there
isnolimit</description>
</property>
1.2.5HDFS的NameNode內(nèi)存
1)HadoopZx系列,配置NameNode默認(rèn)2000m2)
Hadoop3.x系列,配置NameNode內(nèi)存是動態(tài)分配的
NameNode內(nèi)存最小值1G,每增加100萬個block,增加1G內(nèi)存。
1.2.7糾刪碼原理
CPU資源換取存儲空間。
17
大數(shù)據(jù)技術(shù)之高頻面試題
1.2.8異構(gòu)存儲(冷熱數(shù)據(jù)分離)
期望經(jīng)常使用的數(shù)據(jù)存儲在固態(tài)硬盤或者內(nèi)存鏡像硬盤;不經(jīng)常使用的歷史數(shù)據(jù)存儲在老
RAMDISK:(內(nèi)存鏡像文件系統(tǒng))
SSD:(SSD同態(tài)硬盤)
DISK:(普通磁盤,在HDFS中,如果沒有在動聲明數(shù)據(jù)目錄存儲類型默認(rèn)都是DISK)
ARCHIVE:(沒有特指哪種存儲介質(zhì),主要的指的是計算能力比較弱而存儲密度比較高的存儲介質(zhì),用來解決數(shù)據(jù)錄的
容量擴(kuò)增的問題,?般用了歸檔)
2)關(guān)于存儲策略說明:到cold,分別代表r設(shè)備的訪問速度從快到慢
策卻D策略名稱副本分布
15Lazy_PersistRAM_DISK:1,DISK:n-1?個副本保存在內(nèi)存RAZDISK中.其余副本保存在磁盤中.
12AII_SSDSSD:n所有副本都保存在SSD中。
10One_SSDSSD:1,DISK:n-1
一個副本保存在SSD中.冗余副本保存在磁盤中。
7Hot(default)DISK:n
Hot:所有副本保存在磁盤中,這也是默認(rèn)的存儲策略。
5WarmDSIK:1,ARCHIVE:n-1|一個副本保存在磁盤上,其余副本保存在歸檔存儲上.
2ColdARCHIVEin所為副本都保存在歸檔存儲上.
1.2.9Shuffle及優(yōu)化
1、Shuffle過程
18
大數(shù)據(jù)技術(shù)之高頻面試題
名>MapReduce優(yōu)化(上)。尚硅谷
定義類,繼承Partiliona1接口,重寫gctl'rtition方法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年電梯緊急使用協(xié)議版B版
- 智慧能源系統(tǒng)課程設(shè)計
- 2024版應(yīng)急客運車輛合伙經(jīng)營服務(wù)協(xié)議3篇
- 2024年石油瀝青出口貿(mào)易合同
- 2024年電子商務(wù)企業(yè)品牌合作合同
- 棉花勞動課程設(shè)計
- 2024年汽車抵押友情借款擔(dān)保協(xié)議版B版
- 2024版工程監(jiān)理合同:監(jiān)理公司與施工方之間的工程監(jiān)理協(xié)議3篇
- 微課程設(shè)計論文軍事
- 2024年標(biāo)準(zhǔn)汽車托管租賃合同樣本版
- 《地質(zhì)災(zāi)害監(jiān)測技術(shù)規(guī)范》
- 2024-2030年中國云母制品制造市場發(fā)展?fàn)顩r及投資前景規(guī)劃研究報告
- 2025年上半年內(nèi)蒙古鄂爾多斯伊金霍洛監(jiān)獄招聘17名(第三批)易考易錯模擬試題(共500題)試卷后附參考答案
- QC080000培訓(xùn)講義課件
- 24秋國家開放大學(xué)《農(nóng)產(chǎn)品質(zhì)量管理》形考任務(wù)1-2+形考實習(xí)1-3參考答案
- 科技興國未來有我主題班會教學(xué)設(shè)計
- 房子管護(hù)合同范例
- 光伏施工安全措施
- 2024-2025華為ICT大賽(網(wǎng)絡(luò)賽道)高頻備考試題庫500題(含詳解)
- 汽車智能制造技術(shù)課件
- 江蘇省揚州市邗江中學(xué)2025屆物理高一第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
評論
0/150
提交評論