很多时候我们需要开发自己的dremio 扩展(jdbc arp 扩展,存储扩展,格式扩展),dremio 代码相对是比较多的学习起来还是不好弄的,但是我们可以结合一些工具简化我们代码的问题
可选工具
- arthas
使用此工具可以很好的了解调用链(方便对于调用链分析) - jprofiler
很多时候我们需要开发jdbc 的arp 扩展,基于jprifiler 可以很好的了解jdbc 的调用情况 - dremio test 包
dremio test 包是很强大的,已经包含了不少的测试用例,我们可以用来学习,以及测试自己开发的扩展 - idea 的diagrams
可以方便的查看类以及接口的关系 - idea 自带的反编译工具
目前dremio 并不是100%开源的,有一些是源码我们就需要通过反编译解决了
说明
dremio 的模块化做的是很不错的,只是完整讲解dremio 的有点少,基于现有一些工具我们可以很好的学习以及分析dremio相关的问题,当时java 生态类似的工具还是很多的,我一般的玩法是对于黑盒系统先直接来一个火焰图,然后基于调用链分析,对于细节的jdbc 调用处理我们可以结合jproflier 这个强大的工具,如果对于代码流程有了清晰的了解之后,我们就可以顺着源码整体学习了,dremio的核心模块不少,而且调用链路还是比较复杂的