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.
我把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的更多相关文章
- apache开源项目--Apache Drill
为了帮助企业用户寻找更为有效.加快Hadoop数据查询的方法,Apache 软件基金会发起了一项名为“Drill”的开源项目.Apache Drill 实现了 Google's Dremel. Apa ...
- 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 ...
- Apache Drill 调研学习
Apache Drill 调研学习 ## 一.Drill概述 在大数据时代,对于Hadoop中的信息,越来越多的用户需要能够获得快速且互动的分析方法.大数据面临的一个很大的问题是大多数分析查询都很缓慢 ...
- mysql apache php install
设置LINUX自动匹配环境变量 1.$su #su进入root #vi /etc/profile 在文件末尾加上下列语句: PATH=$PATH:/sbin #在PATH变量后追加/sbin目录 ex ...
- Apache Drill - join HBase and RDBMs
HBase作为Nosql的常用系统之一,在很多大数据应用/平台中广泛使用.例如通过Spark统计后将结果存放到HBase中.通常统计结果还需要进一步和元数据或者字典表关联从而得到最终结果显示,这意味着 ...
- 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 ...
- Install Visual Studio Tools for Apache Cordova
Install Visual Studio Tools for Apache Cordova Visual Studio 2013 This article refers to the Visua ...
- 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 ...
- 【原创】大数据基础之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 ...
随机推荐
- Python入门笔记(18):Python函数(1):基础部分
一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...
- 刚刚开通博客,分享Asp.Net的GridView的基本用法
包含有 数据的编辑,删除, 标题的添加,自定义分页,高亮显示鼠标所在,以及数据不足时添加空行 aspx页面代码 <asp:GridView ID="GridView1" ru ...
- 【C#进阶系列】09 关于参数的故事
可选参数和命名参数 不多说,上代码,自然懂 class Program { static void Main(string[] args) { var troy = new Troy(); troy. ...
- Spark集群 + Akka + Kafka + Scala 开发(4) : 开发一个Kafka + Spark的应用
前言 在Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境中,我们已经部署好了一个Spark的开发环境. 在Spark集群 + Akka + Kafka + S ...
- Angularjs,WebAPI 搭建一个简易权限管理系统 —— 系统业务与实现(三)
目录 前言 Angularjs名词与概念 Angularjs 基本功能演示 系统业务与实现 WebAPI项目主体结构 Angularjs 前端主体结构 系统业务与实现(二) 上一章我们讲解的 Angu ...
- [Architecture Pattern] Repository实作查询功能
[Architecture Pattern] Repository实作查询功能 范例下载 范例程序代码:点此下载 问题情景 在系统的BLL与DAL之间,加入Repository Pattern的设计, ...
- Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
改下build.gradle文件,将里面的compileSdkVersion改为23即可 apply plugin: 'com.android.application' android { compi ...
- SharePoint 2013 App Remote Event Receivers
当我们在使用App的时候,就会发现一些问题,比如那些网站部署.更新或者卸载了,我们很关心我们的App是否有人用,这就需要远程事件接收器了. 1.在我们的测试App的解决方案上选中鼠标,按F4弹出属性, ...
- 文件快速搜索工具-Everything的使用(转)
首先它是一款基于名称实时定位文件和目录的搜索工具,有以下几个优点: 快速文件索引 快速文件搜索 较低资源占用 轻松分享文件索引 实时跟踪文件更新 通过使用everything小工具,可以提高我们的工作 ...
- Java 中Comparator 的使用,实现集合排序
目标:实现对Person 对象的年龄,从小到大排序 1.实现排序 package com.app; import java.util.ArrayList; import java.util.Colle ...