Drill doc, https://drill.apache.org/docs/hive-storage-plugin/

发现在国内访问的时候有些标签反应还是很慢,因为它访问了gooleapi的缘故吧。故连接vpn后,访问效果好了很多。

尝试Drill的原因是,在公司开发的项目一直用Hive,但在测试阶段,有些交互式查询想快些获取到结果,但是hive就是不给力,而且当前的版本不支持使用spark-sql和tez.遂后尝试了使用impala.但impala有一个很受不了的问题是,它访问hive的时候,使用的是impala 作为用户名,需要hdfs文件的权限是775,即可读可执行,否则报错。impala访问速度真是快,不管query多么复杂,反应相当给力,所以回来后就想尝试一下工作机制类似impala的Drill.

根据doc下载并安装Drill.

配置drill为分布式模式。

启动hive metastore 服务:

hive --service metastore

启动Drill服务:

drillbit.sh start &

从firefox中访问:http://localhost:8047

配置存储插件的内容如下:

storage dfs plugin:
{
"type": "file",
"enabled": true,
"connection": "hdfs://namenode01/",
"workspaces": {
"root": {
"location": "/",
"writable": false,
"defaultInputFormat": null
},
"tmp": {
"location": "hdfs://namenode01/tmp",
"writable": true,
"defaultInputFormat": null
}
}
hive plugin configuration:
{
"type": "hive",
"enabled": true,
"configProps": {
"hive.metastore.uris": "thrift://namenode01:9083",
"javax.jdo.option.ConnectionURL": "jdbc:mysql://namenode01:3306/hive?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=latin1",
"hive.metastore.warehouse.dir": "/user/hive/warehouse/",
"fs.default.name": "hdfs://namenode01/tmp",
"hive.metastore.sasl.enabled": "false"
}
}

我当时在使用drill访问hive的时候,遇到的一些问题都是没有设置好这些个地方。

启动adhoc 查询程序:

sqlline -u jdbc:drill:schema=hiveremote

Error: SYSTEM ERROR: UnknownHostException: cluster1

because I use namenode HA .

So I change to namenode:port. this looks like a bug.

http://mail-archives.apache.org/mod_mbox/drill-user/201508.mbox/%3CCA+7SQ9+j97Om65EjTy=Yp2Qi-KkGB3xHN4L=b0FYmsk51_iL8w@mail.gmail.com%3E

我把mysql的示例数据库都已经导入到hive表中,数据库名为test.

show databases;

use test;

select count(*) as cnt , dept_name from employees group by dept_name order by dept_name,cnt;

第一次8秒多,第二次不到三秒,第三次不到二秒。

打开hive端口进行尝试:

默认mr模式下很慢,直接启用tez模式。

set hive.execution.engine=tez;

大约使用30约左右。

打开spark-sql standlone模式 :第一次22秒,第二次9秒,第三次接近8秒。速度还可以,但是还是比drill差一些。

简单对比,可见Drill的实现真是牛叉。

测试一下join的效果依然不错。

Apache Drill Install and Test的更多相关文章

  1. apache开源项目--Apache Drill

    为了帮助企业用户寻找更为有效.加快Hadoop数据查询的方法,Apache 软件基金会发起了一项名为“Drill”的开源项目.Apache Drill 实现了 Google's Dremel. Apa ...

  2. ERROR: Java 1.7 or later is required to run Apache Drill.

    问题 Apache 的 drill 执行启动命令 drill-embedded 报错: ERROR: Java 1.7 or later is required to run Apache Drill ...

  3. Apache Drill 调研学习

    Apache Drill 调研学习 ## 一.Drill概述 在大数据时代,对于Hadoop中的信息,越来越多的用户需要能够获得快速且互动的分析方法.大数据面临的一个很大的问题是大多数分析查询都很缓慢 ...

  4. mysql apache php install

    设置LINUX自动匹配环境变量 1.$su #su进入root #vi /etc/profile 在文件末尾加上下列语句: PATH=$PATH:/sbin #在PATH变量后追加/sbin目录 ex ...

  5. Apache Drill - join HBase and RDBMs

    HBase作为Nosql的常用系统之一,在很多大数据应用/平台中广泛使用.例如通过Spark统计后将结果存放到HBase中.通常统计结果还需要进一步和元数据或者字典表关联从而得到最终结果显示,这意味着 ...

  6. Centos6.5 install Python2.7 & django & mysql & apache

    #! /bin/bash#su root#get python2.7wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz #ins ...

  7. Install Visual Studio Tools for Apache Cordova

    Install Visual Studio Tools for Apache Cordova Visual Studio 2013   This article refers to the Visua ...

  8. Manual install on Windows 7 with Apache and MySQL

    These are instructions for installing on Windows 7 desktop (they may also be useful for a server ins ...

  9. 【原创】大数据基础之Drill(2)Drill1.14+Hive2.1.1运行

    问题 Drill最新版本是1.14,从1.13开始Drill支持hive的版本升级到2.3.2,详见1.13的release notes The Hive client for Drill is up ...

随机推荐

  1. [Redis] redis-cli 命令总结

    Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如使用Redis 的Java语言包,这些命令都有对应的方法.下面将R ...

  2. 给我一个及时的问候——XMPP

    XMPP总的来说就是:基于XML数据结构,点对点的,及时通讯协议 是 Linux操作系统+Apache软件+mySql数据库 + php 编程语言 组成   开始时要导入 XMPPFrameWork框 ...

  3. NYOJ 21 三个水杯

    三个水杯 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其余两个为空杯子.三个水杯之间相互倒水,并且水杯没有 ...

  4. css设置height 100%

    需要显式设置html,body为100%,body是相对于html,wrapper是相对于body html,body{ height: 100%; } .wrapper{ height: 100; ...

  5. ASP.NET MVC another entity of the same type already has the same primary key value

    ASP.NET MVC项目 Repository层中,Update.Delete总是失败 another entity of the same type already has the same pr ...

  6. https和http

    今天登网站的时候用https登的,没登上去用http找到网站了,于是就去百度了下他俩的区别简单的画了俩图.

  7. 实验12:Problem E: 还会用继承吗?

    Home Web Board ProblemSet Standing Status Statistics   Problem E: 还会用继承吗? Problem E: 还会用继承吗? Time Li ...

  8. Opengles 管线编程介绍

      OpenGL ES 2.0可编程管道 上图橙色部分(Vertex Shader和Fragment Shader)为此管道的可编程部分.整个管道包含以下两个规范: 1)         OpenGL ...

  9. java多线程系列5-死锁与线程间通信

    这篇文章介绍java死锁机制和线程间通信 死锁 死锁:两个或两个以上的线程在争夺资源的过程中,发生的一种相互等待的现象. 同步代码块的嵌套案例 public class MyLock { // 创建两 ...

  10. HBase数据模型剖析

    出处:http://wuyudong.com/1987.html HBase 进行数据建模的方式和你熟悉的关系型数据库有些不同.关系型数据库围绕表.列和数据类型——数据的形态使用严格的规则.遵守这些严 ...