了解 Drill Sandbox
本节涵盖了 Apache Drill 教程的关键信息。 在安装并启动 sandbox 后 如何安装 Drill sandbox,你可以打开另一个终端窗口 (Linux) 或者命令提示符 (Windows) 并使用 secure shell (ssh) 连接到虚拟机。并使用以下登录名和密码:mapr/mapr。
例如:
$ ssh mapr@localhost -p 2222
Password:
Last login: Mon Sep 15 13:46:08 2014 from 10.250.0.28
Welcome to your Mapr Demo virtual machine.
使用 secure shell 代替 VM 接口有一些优势。你可以从教程中复制/粘贴命令并避免鼠标操作中的问题。
Drill shell 用于连接关系型数据库和执行 SQL 命令。在 sandbox 中,Drill shell 以嵌入模式运行。在登录 sandbox 后,使用 SQLLine
命令以启动 Drill shell,然后即可进行 Drill 查询了。
[mapr@maprdemo ~]$ sqlline
apache drill 1.1.0
"Does your data know the Drill?"
0: jdbc:drill:>
在本教程中,会查询多种数据集,包括 Hive 和 HBase,以及文件系统,例如 CSV、JSON 和 Parquet 文件。要访问这些不同的数据源,需要将 Drill 连接到存储插件。
存储插件概述
你将使用 存储插件 连接到数据源,例如文件或 Hive 元存储。通过打开 Drill Web UI 中的 Storage 选项卡查看存储插件定义。启动网络浏览器并转到: http://<IP address>:8047/storage
。
出现用于管理存储插件的控制面板。
你会看到以下存储插件配置:
- cp
- dfs
- hive
- maprdb
- hbase
- mongo
单击更新以检查配置。
如果在使用 sandbox 之前安装了 Drill,你可能会注意到 sandbox 中的一些存储插件配置与直接安装的 Drill 中的存储插件配置不同。sandbox 存储插件配置了 dfs、hive、maprdb 和 hbase 来模拟教程中的集群环境。
dfs
sandbox 中的 dfs
存储插件建立了与 MapR 文件系统 (MapR-FS) 的连接。
sandbox 中的dfs
存储插件还包括一组工作区;每一个代表一个
MapR-FS 中的位置:
- root: 访问根文件系统目录
- clicks: 访问嵌套的 JSON 格式日志数据
- logs: 访问日志目录及其子目录中的平面(非嵌套)JSON 格式日志数据
- views: 用于创建视图的工作区
dfs
配置包括格式定义。
{
"type": "file",
"enabled": true,
"connection": "maprfs:///",
"workspaces": {
"root": {
"location": "/mapr/demo.mapr.com/data",
"writable": false,
"defaultInputFormat": null
},
"clicks": {
"location": "/mapr/demo.mapr.com/data/nested",
"writable": true,
"defaultInputFormat": "parquet"
},
. . .
"formats": {
. . .
"csv": {
"type": "text",
"extensions": [
"csv"
],
"delimiter": ","
},
. . .
"json": {
"type": "json"
},
"maprdb": {
"type": "maprdb"
}
. . .
maprdb
maprdb 是 sandbox 中 MapR-DB 的一种数据格式。你可以在 sandbox 中使用这种格式来查询 MapR-DB/HBase 表。
hive
sandbox 中有专门针对 Hive 数据仓库的 Hive 配置。 Drill 通过预置的 Metastore thrift URI 连接到 Hive Metastore。用户可以直接查询 Hive 表中的元数据。
{
"type": "hive",
"enabled": true,
"configProps": {
"hive.metastore.uris": "thrift://localhost:9083",
"hive.metastore.sasl.enabled": "false"
}
}
此存储插件配置只适用于 sandbox 中使用。对于远程或者嵌入模式中的存储插件配置可以参考 远程或嵌入模式中的 metastore 存储插件配置。
下一步
开始学习查询语句 第一课: 什么是 data set。