Apache Drill Install and Test

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/%[email protected].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的效果依然不错。

时间: 2024-11-09 01:42:20

Apache Drill Install and Test的相关文章

Apache Drill 成为 Apache 基金会顶级项目

Apache 基金会今天宣布 Apache Drill 成为基金会的顶级项目.项目新的首页是:http://drill.apache.org/ 为了帮助企业用户寻找更为有效.加快Hadoop数据查询的方法,Apache软件基金会发起了一项名为"Drill"的开源项目.Apache Drill 实现了 Google's Dremel. 该项目将会创建出开源版本的谷歌Dremel Hadoop工具(谷歌使用该工具来为Hadoop数据分析工具的互联网应用提速).而"Drill&qu

Apache Drill初探

    Apache Drill初探 介绍 Apache Drill是一个开源的,对于Hadoop和NoSQL低延迟的SQL查询引擎. Apache Drill 实现了 Google's Dremel.那么什么是Google's Dremel?网络中一段描述:Dremel 是Google 的"交互式"数据分析系统.可以组建成规模上千的集群,处理PB级别的数据.MapReduce处理一个数据,需要分钟级的时间.作为MapReduce的发起人,Google开发了Dremel将处理时间缩短到

apache开源项目--Apache Drill

为了帮助企业用户寻找更为有效.加快Hadoop数据查询的方法,Apache 软件基金会发起了一项名为“Drill”的开源项目.Apache Drill 实现了 Google's Dremel. Apache Drill 在基于 SQL 的数据分析和商业智能(BI)上引入了 JSON 文件模型,这使得用户能查询固定架构,演化架构,以及各种格式和数据存储中的模式无关(schema-free)数据.该体系架构中关系查询引擎和数据库的构建是有先决条件的,即假设所有数据都有一个简单的静态架构. Apach

Apache Kafka Install

1.修改每台服务器config/server.properties broker.id:唯一,填数字 host.name:填写服务器IP zookeeper.connect=192.168.1.100:2181,192.168.1.101:2181,192.168.1.103:2181 2.启动 先启动zookeeper服务 bin/zkServer.sh start 再在每台机器上执行Kafka服务 bin/kafka-server-start.sh config/server.propert

apache make install 问题

[[email protected] httpd-2.2.31]# ./configure \--prefix=/usr/local/apache2 \--with-included-apr \--enable-so \--enable-deflate=shared \--enable-expires=shared \--enable-rewrite=shared \--with-pcre-bash: ./configure--prefix=/usr/local/apache2: 没有那个文件或

Install Visual Studio Tools for Apache Cordova

Install Visual Studio Tools for Apache Cordova Visual Studio 2013 This article refers to the Visual Studio Tools for Apache Cordova, which is pre-release software. The features described are in preview and are subject to change. You can download the

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 install with some thought to security) using individual components rather than a one click installer. This is intended only as a testing/evaluation insta

centos 7.2 Apache+mysql+php step by step备忘

1. 如何允许laravel程序执行sudo shell脚本? chmod u+w /etc/sudoers ; echo "apache ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers 再注释掉Defaults requiretty这行,否则会要求有tty才能运行!(TODO: 写shell实现自动化) chmod u-w /etc/sudoers2. OS: CentOS 7.2 x643. 安装zend server ce: (由于ze

SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin

CI服务器:192.168.4.221 root用户操作                            建议安装前更新操作系统 # yum update 更新完成后重启 # reboot 安装apache # yum install httpd httpd-devel # service httpd start # chkconfig httpd on # vi /etc/httpd/conf/httpd.conf 找到ServerName 并修改成 ServerName localho