引入Storage Handler,Hive用户使用SQL的方式读写外部数据源, 例如ElasticSearch、 Kafka、HBase等数据源的查询对非专业开发是有一定门槛的,借助Storage Handler,他们有了一种方便快捷的手段查询数据,Storage Handler作为Hive的存储插件,我们需要的时候直接添加即可。
另外,Hive作为数仓的核心组件,借助Storage Handler,数据导入导出可以统一以SQL实现,减少了大数据开发维护的技术栈。Storage Handler我们可以直接译为存储处理器
用Java实现HiveStorageHandler接口,并将Jar包加入Hive classpath。
创建外部表(External Table),且STORED BY 声明为第一步开发的类。
使用HiveSQL操作外部表
这里有一个概念性的问题,在hive 引入Storage Handler 之前就已经有内部表(managed)和外部表(external) 的概念了,关于内部表和外部表你可以参考 Hive内部表和外部表 。
A managed table is one for which the definition is primarily managed in Hive’s metastore, and for whose data storage Hiv