在 Sandbox 中使用 Drill

该模块涉及的知识点是关于 Apache Drill 的教程。在 Sandbox 中使用 Drill 并且启动 Sandbox,你可以打开另一个终端窗口(Linux)或是 CMD(Windows),然后使用 SSH 协议登录到虚拟机,前提需要安装好 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.

这里使用安全的 Shell 去替代虚拟机的接口是有好处的。你可以直接使用拷贝/粘贴,避免使用鼠标去控制。

Drill 包含连接到关系型数据库和执行 SQL 的命令。在 Sandbox 中,Drill Shell 是运行在嵌入式模式当中的。登录到 Sandbox 之后,使用 SQLLine 命令。出现 Drill 的 Shell 之后,你可以运行 Drill 查询。

[mapr@maprdemo ~]$ sqlline
apache drill 1.4.0
"Does your data know the Drill?"
0: jdbc:drill:>

在该教程中,你查询一个数据集,包含在文件系统中的 Hive,HBase,文本文件,例如 CSV,JSON 和 Parquet 文件。通过存储插件,你可以访问这些不同的数据源。

存储插件概述

你可以使用存储插件去连接数据源,例如一个文件或 Hive 元数据。你可以在 Drill Web 控制台中打开存储插件的定义内容。打开浏览器,然后输入:http://<IP address>:8047/storage

然后控制面板会出现以下存储插件。

get2kno_plugin.png

你可以配置以下存储插件:

  • cp
  • dfs
  • hive
  • maprdb
  • hbase
  • mongo

点击更新按钮使配置生效。

如果你使用的是 Sandbox 中的 Drill,你可能需要注意对于同一个存储插件的配置是有所不同的。在 Sandbox 中配置 dfs,hive,maprdb 以及 hbase 存储插件的定义是运行在虚拟环境中的。

dfs

dfs 存储插件的 Sandbox 中设置用于连接到 MapR 文件系统(MapR-FS)。当然,它也包含也去设置工作空间,每个属性所代表的含义如下所示:

  • root:进入 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

在 Sandbox 中配置 maprdb 用于 MapR-DB。你可以使用这种格式去查询 MapR-DB/HBase 表。

hive

在 Sandbox 中你需要配置 Hive 数据的仓库地址。Drill 连接 Hive 的元数据使用的是 元数据的 thrift URI 地址。配置元数据的 Hive 表将自动给用户提供查询功能。

{
  "type": "hive",
  "enabled": true,
  "configProps": {
    "hive.metastore.uris": "thrift://localhost:9083",
    "hive.metastore.sasl.enabled": "false"
  }
}
Copyright © smartloli 2016 all right reserved,powered by GitbookModify: 2016-08-26 06:59:28