由于博主日常使用的OS为windows10,故本文将简单展示如何在win10基于Docker容器安装部署Dremio。另外,Dremio的官网也给出诸如AWS版本、Azure版本等的安装部署包,有兴趣的话可通过以下链接前往了解:dremio deploy
环境准备
- win10环境下的Docker容器服务
拉取dremio-oss的docker镜像
这里拉取下来的社区版本的Dremio镜像,商业版本的Dremio需要联系Dremio官方了。当然,作为个人开发使用,社区版本的Dremio已完全够用了。
1 | docker pull dremio/dremio-oss |
单节点Dremio服务的部署
1 | docker run -p 9047:9047 -p 31010:31010 -p 45678:45678 dremio/dremio-oss |
利用以上命令可在Docker上启用一个单节点的Dremio服务,节点还包括以下服务:
- Embedded Zookeeper
- Master Coordinator
- Executor
注册账号
Dremio服务启动成功后,在浏览器访问本地9047端口,http://localhost:9047/。
将出现以下账号注册界面,如下图:

填写完信息并注册成功后会自动跳转到Dremio的管理面板首页,如下图:

创建一个内置简单数据源
点击左下角的
Add Data Lake,,可以看到Dremio已支持的基于表的存储源以及基于文件的存储源,这里我们先直接新增一个内置的数据源即可
点击文件路径一直到如下图的界面,可以看到这个数据源已经内置了csv、json、parquet等文件格式的多个数据文件或目录(对应基于表存储系统中的表)

选择其中一个文件,点击文件名旁边的小加号复制文件的访问路径,然后到查询编辑器执行类似以下的查询SQL,但是此时会抛出错误,Dremio提示找不到此文件
1
select * from Samples."samples.dremio.com"."SF weather 2018-2019.csv"

其实原因不难找,Dremio引擎其实也是通过类似其他数据库中的元数据机制来管理数据集的,只需要让我们要查询数据的文件注册到Dremio的元数据中就可以正常查询了。
通过以下SQL可以查询到Dremio当前已知的元数据
1
select * from INFORMATION_SCHEMA."TABLES"
通过点击如下图按钮,将文件转换为指定的文件格式,就会将文件注册到Dremio的元数据中

再回到查询器页面执行查询SQL,就能正常查询出数据了

到这里就算完成了Dremio的基本部署,并能简单使用Dremio提供的内置数据源查询到数据。