下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、ClickHouse禾口他的朋友們(1)編譯一開發(fā)-測試-次偶然的機會,和ClickHouse團隊做了一次線下溝通,Alexey提至UCIickHouse的設(shè)計哲 學:The product must solve actual problemAnd do it better than others用工程思維解決商業(yè)問題的典范??!對用戶來說,他們關(guān)心的不是什么天花亂墜、上天入地的高科技,只是需要一個能很好解決自 己問題的方案,這在開源社區(qū)是非常難得的靠實力野蠻式生口。于是,我對這個散發(fā)著伏特加味道的利器充滿了好奇,并參與到ClickHouse的社區(qū)中一探究竟第一感覺是開放、友好、戰(zhàn)斗力強(AK4
2、7 vs CK16, ClickHouse 2016年開源)。本文先從編譯和測試人手,再到如何為社區(qū)貢獻Patch 希望對那些想?yún)⑴cCK社區(qū)的同學有 所幫助。如何本地編譯和測試ClickHouse ?源碼獲取1git clone -recursive s:/github /ClickHouse/ClickHouse12345671234567編譯準備sudo apt install build-essentialsudo apt-get install software-properties-commonsudo apt-add-repository ppa:ubuntu-toolchain-
3、r/testsudo apt-get updatesudo apt-get install gcc-9 g+-9 git python ninja-build sudo snap install cmake開始編譯1234567cd ClickHouse mkdir build cd build export CC=gcc-9 export CXX=g+-9 cmake . nin j a測試方法ClickHouse白勺7那么試在官方development/tests( s:/github /ClickHouse/ClickHouse/blob/master/docs/en /developm
4、ent/tests.md)檔里有詳細的介紹,這里列舉3個常用的測試模式:Functional Tests功能測試,主要用于ClickHouse內(nèi)部功能測試,方式:輸入一個sq仗件,輸出一個result, 類似MySQL里的mtr,測試集合( s:/github /ClickHouse/ClickHouse/tree/master/tests/queries)1cd tests2./clickhouse-test -c ./build/programs/clickhouse-clientH 00001_select_lIntegration Tests集成測試,主要用于涉及第三方服務(wù)的測試,出如
5、MySQL/Postgres/MongoDB等,以容器 化方式編排調(diào)度(pytest)運行,測試集合由于涉及模塊較多,集成測試環(huán)境的搭建有一定的難度,建議使用官方的docker鏡像。比方要跑test_mysql_protocol下的集成測試集:cd tests/integrationdocker pull yandex/clickhouse-integration-tests-runner,/runner -binary /your/ClickHouse/build/programs/clickhouse-bridge-biUnit Tests單元測試,主要用于代碼模塊的測試,測試集在各個模塊
6、的tests目錄,出如:Core/tests( s:/github /ClickHouse/ClickHouse/tree/master/src/Core/tests)如果大家想了解某個模塊是如何工作的,強烈建議去翻翻該模塊的tests目錄,it如想了解processor的工作機制,跟蹤調(diào)試Processors/tests/( s:/github /ClickHouse/ClickHouse/tree/master/src/Core /tests)即可。女口何給ClickHouse社區(qū)提Patch ?, fork首先在自己的github上fork一份ClickHouse代碼,此如 s:/git
7、hub /BohuTANG/ClickHouse, clone至II本地1git clone -recursive s:/github /BohuTANG/ClickHouse2git checkout -B mysql_replica(branch名字).創(chuàng)立新的分支git checkout -B mysql rplica (branch名字).功能開發(fā)開發(fā)者可以提交一個Draft Pull Request至U官方,github會顯示這個Pull Request處于Draft 狀態(tài),官方是無法Merge的. can be testd標簽等待Upstream打can be tested標簽,一
8、旦被標記Cl狂魔們就強勢開跑,跑一輪大概需要幾十個小時。協(xié)助開發(fā)者發(fā)現(xiàn)一些代碼Style、編譯以及測試等錯誤,這樣開發(fā)者就可以在自己的分支不停 的迭代、修正。如果只是修改typo,這個標簽Upstream通常不會添加。.開發(fā)完畢開發(fā)完成,測試OK,把Draft提升為正式Pull Request,等待Upstraem Review。, Merge到Master如果Upstream通過,你的代碼會被Merge到Master,恭喜你成為ClickHouse貢獻者.考前須知ClickHouse Upstream迭代非??欤欢ㄒ嚓P(guān)注master分支進度,盡量保持自己的分支代碼 與master同步。否那么
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)部勞務(wù)分包合同糾紛的解決方法探討
- 投標過程中的誠信實踐
- 浙江省杭州市高橋初中教育集團2024-2025學年上學期九年級期中數(shù)學試卷(無答案)
- 八年級歷史下冊 第3課 土地改革教案 新人教版
- 廣東省肇慶市高中英語 Unit 2 Working the land-Ving form for Subject Object教案 新人教版必修4
- 2023六年級數(shù)學下冊 五 奧運獎牌-扇形統(tǒng)計圖 統(tǒng)計與可能性第2課時教案 青島版六三制
- 八年級生物上冊 20.4《性別和性別決定》教案 (新版)北師大版
- 2024-2025學年高中歷史 第二單元 古代歷史的變革(下)第7課 忽必烈改制教學教案 岳麓版選修1
- 汽車試驗技術(shù) 課件 項目4 CAE虛擬試驗技術(shù)
- 租用月嫂合同(2篇)
- 數(shù)據(jù)終端-0909電信lte mifi終端技術(shù)要求
- 掘路施工方案
- 分式方程的解法教學設(shè)計與反思(優(yōu)秀范文5篇)
- C-TPAP體系管理手冊
- 大學二級學院(系)財務(wù)管理辦法(試行)模版
- 新浙教版九年級上冊初中數(shù)學 4.2 由平行線截得的比例線段 教學課件
- 中國聯(lián)通通信網(wǎng)絡(luò)運行維護規(guī)程-固定網(wǎng)絡(luò)設(shè)備分冊-傳輸詳細
- 《CAXA電子圖版》教學設(shè)計大綱
- 土木工程專業(yè)職業(yè)生涯規(guī)劃(PPT)
- 犬神經(jīng)障礙性疾病的針灸診療
- 福建廈門廉租房申請條件一覽2022(條件+程序+材料)
評論
0/150
提交評論