我们可以通过存储插件连接到本地文件系统,Hive,HBase,或是其他的数据源。在Drill的web界面的存储插件配置tab,你可以查看修改这些插件的配置。如果不支持HTTPS(默认就没有),你可以访问HTTP://{IP}:8047/storage 来查看和配置存储插件。可以用IP,也可以用hostname。如果开启了https的支持,你可以通过https://{IP}:8047/storage来访问。
Drill 默认开启了cp,dfs,hbase,hive和mongodb的插件支持。
- cp 指向Drill Classpath里的jar包文件,例如你可以查询employee.json文件。
- DFS 指向本地文件系统,你也可以修改这个插件指向任何分布式文件系统,比如hadoop或是amazon的S3文件系统。
- hbase 提供到HBase的连接 。
- Hive 为Drill提供了访问Hive文件的元数据抽象的集成,也提供了一些库来访问SerDe和UDF.
- mongo 提供到mongodb的访问。
在Drill沙箱里,dfs插件为你提供了连接到一个预先定义好的hadoop环境的能力。如果你自己在本地跑一下drill,那么dfs是访问你本地文件系统的根目录。
注册一个存储插件的配置
你只需要输入插件名字,点击"CREATE",提供一个json格式的配置,再点击"UPDATE",就可以注册一个新的插件配置。。
存储插件的配置的持久化
在嵌入式执行的时候,Drill将配置保存在一个临时目录, 在分布式模式下运行时,drill将配置放在zookeeper中。例如,在Mac OSX下,Drill将配置保存在/tmp/drill/sys.storage_plugins
文件中。当你重启电脑的时候,这个临时目录会被清空。当你将drill运行在嵌入模式下时,你可以将sys.store.provider.local.path
配置项添加到drill-override.conf文件里,就像下面这样:
drill.exec: {
cluster-id: "drillbits1",
zk.connect: "localhost:2181",
sys.store.provider.local.path="/mypath"
}