記一次Apache Carbondata PR的經(jīng)歷章

?前言

? ? ? ? 前段時(shí)間有幸接觸到Apache Carbondata域携,試用過程中發(fā)現(xiàn)了一個(gè)小小的問題,并且又很快的定位到了問題。然后在社區(qū)群里反映了下俊啼,負(fù)責(zé)人問愿不愿意提個(gè)JIRA,PR,然后我在沒有任何開源項(xiàng)目PR過的情況下竟然欣然答應(yīng)了左医。(可能跟ZB心有關(guān)吧o(╥﹏╥)o)然后來說說這段美妙而又酸爽的經(jīng)歷吧【學(xué)習(xí)到了很多】授帕!


簡介

? ? ? ??CarbonData是首個(gè)由中國公司發(fā)起并捐獻(xiàn)給Apache基金會的開源項(xiàng)目,于2017年4月正式成為Apache頂級項(xiàng)目浮梢,由華為開源并支持Hadoop的高性能列式存儲文件格式豪墅,其目的是提供一種統(tǒng)一的數(shù)據(jù)存儲方案,以一份數(shù)據(jù)同時(shí)支持大數(shù)據(jù)分析的多種應(yīng)用場景黔寇,All In One偶器,并通過多級索引、字典編碼缝裤、列式存儲等特性提升 I/O 掃描和計(jì)算性能屏轰,實(shí)現(xiàn)百億數(shù)據(jù)級秒級響應(yīng)。目前最新版是1.5.1憋飞,集成了spark 2.1.0霎苗,2.2.1,2.3.2和Hadoop2.7.2榛做,如果是其它版本唁盏,則需要自己編譯源碼!


?優(yōu)勢

? ? ??1. 規(guī)模比impala+kudu大检眯,基于MPP架構(gòu)的系統(tǒng)很難超過100節(jié)點(diǎn)厘擂。

? ? ? ?2. 沒有進(jìn)程,不需要單獨(dú)部署集群锰瘸,在現(xiàn)有hadoop/spark/presto上即可以使用刽严。

? ? ? ?3. 有索引,對多維過濾查詢不用全掃描避凝。

? ? ? ?4. 有預(yù)匯聚舞萄,對OLAP


問題

?先拋出來試用過程中出現(xiàn)的問題。carbondata版本:1.5.0管削,spark 2.3.2? ? ?模式:本地 spark-shell

? ? ? ?例子:http://carbondata.apache.org/quick-start-guide.html



? ? ? ? 問題描述:? ?

? ? ? ? 上面是提交JIRA的時(shí)候提交的bug再現(xiàn)流程倒脓,總的就是在創(chuàng)建 carbondata 的時(shí)候,getOrCreateCarbonSession方法默認(rèn)有兩個(gè)參數(shù)?storePath(存儲table數(shù)據(jù)) metaStorePath(t存儲able元數(shù)據(jù))含思,不傳的話會默認(rèn)創(chuàng)建崎弃,但可能好多人第一次使用的時(shí)候不清楚,然后會根據(jù)quick start 傳一個(gè)空字符串,造成的結(jié)果就是每一步都顯示成功吊履,但最終carbondata表結(jié)果查詢卻是空安皱。通過查看源碼,在carbondata\integration\spark2模塊中發(fā)現(xiàn)?getOrCreateCarbonSession? 方法的storePath艇炎,metaStorePath參數(shù)都只是簡單的 null 的判斷酌伊,所以造成了本地創(chuàng)建storePath存儲在空字符串中,導(dǎo)致最終查詢不出來結(jié)果缀踪。

? ? ? ?解決方案:

? ? ? ?使用 StringUtils.isNotBlank 替代原來的簡單 null 判斷居砖。

流程

? ? ??1) 首先注冊Apache JIRA 賬號(沒有的話),注意在這一定要描述清楚你的問題的是什么驴娃,屬于什么類型(優(yōu)先級不一樣)? 例子:https://issues.apache.org/jira/projects/CARBONDATA/issues/CARBONDATA-3119?filter=allopenissues

? ? ? ?2)fork 奏候,https://github.com/apache/carbondata。



? ? 3)a. git config:? ??

$ git config --global user.email "xxxxx@163.com"? ? ?--輸入自己的git郵箱

$ git config --global user.name "xxxxx"? ? ? ? ? ? ? ? ? ? ?--輸入自己的git name


? ? ? ?b. git clone

? ? ? ?$ git clone https://github.com/apache/carbondata.git? ?--把源碼下載到自己置頂?shù)谋镜啬夸?/p>


? ? ? c.

? ? ??git remote add XXXX https://github.com/XXXX/carbondata.git? ?--跟fork下來的carbondata git倉庫關(guān)聯(lián)起來


? ? ?d.

? ? ?git fetch --all

? ? ?git checkout -b? master? ?--直接使用master分支(當(dāng)然也可以創(chuàng)建自己的分支)

? ?

? ? ?e.

? ? ?git add 修改的文件

? ? ?git commit -m "本次commit說明"

? ? ?git rebase -i? 分支名字? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-- 這個(gè)命令是用來修改 已提交的?commit? 的說明的唇敞。就是開源項(xiàng)目都有自己嚴(yán)格的規(guī)范蔗草,不合格需要重新提交commit說明


? ?f:

? ? git push 遠(yuǎn)程主機(jī)名 分支名? ? ?--提交到遠(yuǎn)程倉庫? 本地分支名和遠(yuǎn)程分支名一致

??

? 當(dāng)然遠(yuǎn)程提交之前確保測試用例是通過的,然后就可以直接在fork下來的倉庫中 點(diǎn)擊 Pull request了疆柔,一般這的說明都會有嚴(yán)格的模板例子咒精,所以不要擅自改格式。提交了PR之后旷档,就注意郵件消息等回復(fù)模叙,需要修改或者不規(guī)范的地方需要回工,知道最終被merge鞋屈。然后恭喜你就成為一名Apache carbondata 的contributors之一了范咨。 那么樓主我自己很榮幸也是拿到了獎(jiǎng)勵(lì)的華為 小天鵝 藍(lán)牙音箱,最主要的是榮譽(yù)感滿滿(雖然是小小的一次修改厂庇,但畢竟是第一次嘛渠啊,第一次還是很值得留念的博友們)


?項(xiàng)目編譯過程中遇到的問題:

?1)在windows編譯的的時(shí)候 maven 命令:

clean -DskipTests -Pbuild-with-format -Pspark-2.3-Pwindows install



? 2)首先需要本地安裝 thrift 0.93,并配置環(huán)境變量宋列。? 根據(jù) thrift --version查看是否安裝成功

? 3)import scala 包是有分組和組內(nèi)排序的昭抒,注釋也有嚴(yán)格的格式。 不然編譯的時(shí)候會報(bào) 代碼style不對炼杖,編譯通不過的。


Apache carbondata官方網(wǎng)站:? ?http://carbondata.apache.org/





?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盗迟,一起剝皮案震驚了整個(gè)濱河市坤邪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌罚缕,老刑警劉巖艇纺,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡黔衡,警方通過查閱死者的電腦和手機(jī)蚓聘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盟劫,“玉大人夜牡,你說我怎么就攤上這事÷虑” “怎么了塘装?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長影所。 經(jīng)常有香客問我蹦肴,道長,這世上最難降的妖魔是什么猴娩? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任阴幌,我火速辦了婚禮,結(jié)果婚禮上卷中,老公的妹妹穿的比我還像新娘矛双。我一直安慰自己,他們只是感情好仓坞,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布背零。 她就那樣靜靜地躺著,像睡著了一般无埃。 火紅的嫁衣襯著肌膚如雪徙瓶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天嫉称,我揣著相機(jī)與錄音侦镇,去河邊找鬼。 笑死织阅,一個(gè)胖子當(dāng)著我的面吹牛壳繁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播荔棉,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼闹炉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了润樱?” 一聲冷哼從身側(cè)響起渣触,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎壹若,沒想到半個(gè)月后嗅钻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體皂冰,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年养篓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了秃流。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,991評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡柳弄,死狀恐怖舶胀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情语御,我是刑警寧澤峻贮,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站应闯,受9級特大地震影響纤控,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜碉纺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一船万、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧骨田,春花似錦耿导、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至悠汽,卻和暖如春箱吕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背柿冲。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工茬高, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人假抄。 一個(gè)月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓怎栽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宿饱。 傳聞我的和親對象是個(gè)殘疾皇子熏瞄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容