Thrift
定义
在hive_metastore.thrift定义接口、自定义bean类型和自定义异常
编译
brew install [email protected]
安装对应版本的thrift- 下载对应版本的fb303文件,保存到
${thrift.home}/share/fb303/if/
- 在hive项目路径下执行
mvn clean install -U -Pthriftif -DskipTests -Dthrift.home=/usr/local/opt/[email protected] -Phadoop-2
Java
代码
Server
- 在HiveMetaSrore中实现定义的thrift接口
- 在RawStore/ObjectStore中定义并实现接口(可以看作控制层),调用MetaStoreDirectSql。
- 在MetaStoreDirectSql中实现访问数据库的操作
因为SQL Pattern较为固定,没有采取DAO层处理model,而是直接在MetaStoreDirectSql写query进行查询。
Client
- IMetaStoreClient中定义接口