




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Kafka到HIVE數(shù)據(jù)遷移工具的設計與實現(xiàn)答辯人:劉凱指導老師:周強 數(shù)據(jù)倉庫 HIVE應用場景此工具用在大數(shù)據(jù)加載過程中將消息隊列Kafka中的數(shù)據(jù)遷移到數(shù)據(jù)倉庫HIVE中日志收集系統(tǒng)Flume消息隊列Kafka分布式文件系統(tǒng)HDFS消息隊列 Kafka消息隊列技術是分布式應用間交換信息的一種技術,可以通過它更方便快捷地實現(xiàn)分布組件間的通訊和信息交換。消息中間件適用于需要可靠的數(shù)據(jù)傳送的分布式環(huán)境中。Kafka是一種分布式的,基于發(fā)布/訂閱的消息系統(tǒng)。由LinkedIn開發(fā)。Kafka的主要設計目標包括以時間復雜度O(1)的方式提供消息的持久化能力;保證高吞吐率,做到即使在廉價的商用機器上
2、也能保證高吞吐率;支持消息存儲分區(qū)及分布式消費,同時保證各分區(qū)內的消息順序存儲?;贖adoop的數(shù)據(jù)倉庫 HIVE HIVE的核心任務是負責將用戶輸入的命令轉換成MapReduce任務,然后在Hadoop集群上執(zhí)行用戶接口Hive提供三種用戶接口,包括CLI(命令行工具)、JDBC/ODBC接口、WebUI元數(shù)據(jù)HIVE將元數(shù)據(jù)存儲到普通關系型數(shù)據(jù)庫中,如mysql、derby等。HIVE的元數(shù)據(jù)包括表的名字及所屬數(shù)據(jù)庫、表的列和分區(qū)及其類型、表的屬性、表的數(shù)據(jù)所在目錄等。數(shù)據(jù)存儲及計算框架HIVE實際數(shù)據(jù)都存儲在分布式文件系統(tǒng)HDFS中,大部分查詢、計算由MapReduce完成分布式計算框
3、架 MapReduceMapReduce是一種分布式處理模型和執(zhí)行環(huán)境,用于大規(guī)模數(shù)據(jù)集的并行計算。MapReduce遵守分而治之的原則,可以實現(xiàn)性能隨機器數(shù)量的增加而線性增加。依照分治的原則,通過將數(shù)據(jù)拆分到分布式文件系統(tǒng)中的不同機器上,讓任務執(zhí)行的節(jié)點能盡快的直接訪問和處理數(shù)據(jù),然后將處理結果合并后展示給用戶。本課題解決的問題 主要解決kafka與HIVE對接的問題,采用MapReduce計算框架,創(chuàng)建從Kafka到HIVE的數(shù)據(jù)管道,以分布式的方式從Kafka中拉取數(shù)據(jù),依照HIVE的元數(shù)據(jù)信息將數(shù)據(jù)轉換成指定的格式并存儲到文件系統(tǒng)中。同時保證系統(tǒng)高吞吐率及高可靠性。 在實現(xiàn)上本質是一個
4、只包含Map任務的MapReduce程序,包括任務調度,數(shù)據(jù)拉取,數(shù)據(jù)存儲及歷史記錄四個模塊。模塊間交互圖1、任務調度模塊該模塊的主要功能會是負責讀取配置信息并統(tǒng)計需要計算的任務,分配任務同時更新本次執(zhí)行的歷史記錄。2、數(shù)據(jù)拉取模塊只模塊的主要功能是負責從kafka指定的位置拉取數(shù)據(jù)。3、數(shù)據(jù)存儲模塊該模塊的主要功能室負責將數(shù)據(jù)按照指定的格式存儲到Hive表中去。4、歷史記錄模塊該模塊的主要功能是用來保存程序運行產(chǎn)生的記錄信息。保證Kafka與HIVE數(shù)據(jù)兼容Kafka中的不同類型的數(shù)據(jù)使用Topic進行區(qū)分,Hive中不同的數(shù)據(jù)通過表來區(qū)分,所以每一個Topic對應HIVE中的一個表。將同一
5、個Topic中的消息添加到一個HIVE表中。數(shù)據(jù)從kafka遷移到hive表的過程中設計兩個序列化的過程,一是對從kafka中取出的數(shù)據(jù)進行解碼,以使這條數(shù)據(jù)能夠正確的轉換成鍵值對的形式供Map方法處理,第二是在向HIVE中寫數(shù)據(jù)時進行的序列化過程,以使HIVE能夠正確識別,即serde過程中的Serializer。在寫出數(shù)據(jù)時需要連接HIVE的元數(shù)據(jù)服務,來獲取HIVE表的元數(shù)據(jù),這些信息包括表數(shù)據(jù)文件存放的位置、分區(qū)方式、serde(序列化與反序列化)方式、壓縮方式,校驗方式等。通過這些信息保證寫到HDFS中的數(shù)據(jù)能被HIVE正確處理。軟件測試結論1、程序穩(wěn)定性 正常用例: 1、對異常數(shù)據(jù)
6、的容錯能力 2、對HIVE、kafka、MapReduce依賴服務的容錯能力 3、同時處理多個 Topic的能力 異常用例: 1、HDFS服務關閉后,程序不能自動退出。 2、程序運行過程中手動關閉,會產(chǎn)生重復處理數(shù)據(jù)的情況2、系統(tǒng)性能瓶頸 1、 Kafka的提供的消費能力及HDFS提供的寫數(shù)據(jù)的能力都遠大于數(shù)據(jù)落地插件的處理速度。 數(shù)據(jù)加載的性能瓶頸在數(shù)據(jù)落地插件自身。 2、數(shù)據(jù)兩次編解碼耗時較多。3、性能測試結果 1、單個map任務的處理性能與單條數(shù)據(jù)的大小有關,單條數(shù)據(jù)越大,整體處理速度就越快。 2、數(shù)據(jù)落地插件任務分配機制合理,在達到單節(jié)點性能瓶頸前可以通過增加task任務數(shù)量的方式提高 整體性能。測試主要針對軟件的功能性、穩(wěn)定性及遷移性能進行了測試,測試結果如下:展望本文在數(shù)據(jù)遷移時為保證數(shù)據(jù)既能與kafka數(shù)據(jù)兼容又能被HIVE數(shù)據(jù)兼容,不可避免的需要對數(shù)據(jù)進行編碼兩次,這兩次編碼是順次進行的,占用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年專利考試中如何有效時間管理試題及答案
- 公司離職面試題及答案
- 2024年激光工程師試題匯編試題及答案
- 注冊排水工程培訓
- 外勤輔助面試題及答案
- 中國憲法考試試題及答案
- 初級會計師考試快速提升策略試題及答案
- 專利代理人考試知識點提煉試題及答案
- 文化產(chǎn)業(yè)管理考試需要積極參與的現(xiàn)代項目分析試題及答案
- 光電工程師證書考試系統(tǒng)試題及答案
- 中國郵政集團有限公司招聘筆試題庫2024
- 八年級數(shù)學下冊 中心對稱圖形-平行四邊形綜合壓軸(50題12個考點)(原卷版)
- 中醫(yī)科胸痹(冠心病-心絞痛)中醫(yī)診療方案
- 中標方轉讓合同協(xié)議書
- 高等學校教師資格考試《高等教育法規(guī)概論》模擬12
- 教育教學能力大賽實施報告
- 風電項目達標投產(chǎn)場內集電線路工程電力電纜部分質量檢查驗收表
- 110kV線路鐵塔組立專項施工方案
- 中考總復習:無刻度直尺作圖2
- 第5課《弘揚勞動精神勞模精神工匠精神》第2框《踐行勞動精神勞模精神工匠精神》-【中職專用】《職業(yè)道德與法治》同步課堂課件
- 小米汽車發(fā)布會
評論
0/150
提交評論