记一次Apache Carbondata PR的经历章

 前言

        前段时间有幸接触到Apache Carbondata,试用过程中发现了一个小小的问题,并且又很快的定位到了问题。然后在社区群里反映了下,负责人问愿不愿意提个JIRA,PR,然后我在没有任何开源项目PR过的情况下竟然欣然答应了。(可能跟ZB心有关吧o(╥﹏╥)o)然后来说说这段美妙而又酸爽的经历吧【学习到了很多】!


简介

        CarbonData是首个由中国公司发起并捐献给Apache基金会的开源项目,于2017年4月正式成为Apache顶级项目,由华为开源并支持Hadoop的高性能列式存储文件格式,其目的是提供一种统一的数据存储方案,以一份数据同时支持大数据分析的多种应用场景,All In One,并通过多级索引、字典编码、列式存储等特性提升 I/O 扫描和计算性能,实现百亿数据级秒级响应。目前最新版是1.5.1,集成了spark 2.1.0,2.2.1,2.3.2和Hadoop2.7.2,如果是其它版本,则需要自己编译源码!


 优势

      1. 规模比impala+kudu大,基于MPP架构的系统很难超过100节点。

       2. 没有进程,不需要单独部署集群,在现有hadoop/spark/presto上即可以使用。

       3. 有索引,对多维过滤查询不用全扫描。

       4. 有预汇聚,对OLAP


问题

 先抛出来试用过程中出现的问题。carbondata版本:1.5.0,spark 2.3.2     模式:本地 spark-shell

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



        问题描述:   

        上面是提交JIRA的时候提交的bug再现流程,总的就是在创建 carbondata 的时候,getOrCreateCarbonSession方法默认有两个参数 storePath(存储table数据) metaStorePath(t存储able元数据),不传的话会默认创建,但可能好多人第一次使用的时候不清楚,然后会根据quick start 传一个空字符串,造成的结果就是每一步都显示成功,但最终carbondata表结果查询却是空。通过查看源码,在carbondata\integration\spark2模块中发现 getOrCreateCarbonSession  方法的storePath,metaStorePath参数都只是简单的 null 的判断,所以造成了本地创建storePath存储在空字符串中,导致最终查询不出来结果。

       解决方案:

       使用 StringUtils.isNotBlank 替代原来的简单 null 判断。

流程

      1) 首先注册Apache JIRA 账号(没有的话),注意在这一定要描述清楚你的问题的是什么,属于什么类型(优先级不一样)  例子: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   --把源码下载到自己置顶的本地目录


      c.

      git remote add XXXX https://github.com/XXXX/carbondata.git   --跟fork下来的carbondata git仓库关联起来


     d.

     git fetch --all

     git checkout -b  master   --直接使用master分支(当然也可以创建自己的分支)

   

     e.

     git add 修改的文件

     git commit -m "本次commit说明"

     git rebase -i  分支名字                             -- 这个命令是用来修改 已提交的 commit  的说明的。就是开源项目都有自己严格的规范,不合格需要重新提交commit说明


   f:

    git push 远程主机名 分支名     --提交到远程仓库  本地分支名和远程分支名一致

  

  当然远程提交之前确保测试用例是通过的,然后就可以直接在fork下来的仓库中 点击 Pull request了,一般这的说明都会有严格的模板例子,所以不要擅自改格式。提交了PR之后,就注意邮件消息等回复,需要修改或者不规范的地方需要回工,知道最终被merge。然后恭喜你就成为一名Apache carbondata 的contributors之一了。 那么楼主我自己很荣幸也是拿到了奖励的华为 小天鹅 蓝牙音箱,最主要的是荣誉感满满(虽然是小小的一次修改,但毕竟是第一次嘛,第一次还是很值得留念的博友们)


 项目编译过程中遇到的问题:

 1)在windows编译的的时候 maven 命令:

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



  2)首先需要本地安装 thrift 0.93,并配置环境变量。  根据 thrift --version查看是否安装成功

  3)import scala 包是有分组和组内排序的,注释也有严格的格式。 不然编译的时候会报 代码style不对,编译通不过的。


Apache carbondata官方网站:   http://carbondata.apache.org/





©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容