使用Apache Drill深入研究当今的大数据

自2014年9月首次提供Beta版以来, Apache Drill一直在获得广泛的用户采用和社区动力。2015年5月发布了Drill的通用版本-Drill 1.0,此后,许多客户已在生产中部署和使用了Drill。 在此博客文章中,我将简要总结客户在Drill中发现的宝贵价值的一些关键功能。 我还将介绍部署Drill的常见用例,以及Drill入门资源。

为什么Drill对客户具有吸引力

  1. Drill提供对任何类型数据的SQL访问,具有极大的灵活性和易用性

    使用Drill,您可以在短短几分钟内查询文件,Hive数据仓库,HBase表甚至是非基于Hadoop的存储系统中的数据,并且可以动态合并这些来源的数据。 无需定义和维护任何中央元数据定义。 钻取就地查询数据并即时发现模式。 通过利用高级SQL解析器( Apache Calcite )提供的全面SQL支持,Drill还提供了SQL扩展,以本地查询和操作复杂数据类型,例如大多数新数据源中常见的数组和映射(如网站点击,社会,传感器数据)。 Drill还随附ODBC / JDBC驱动程序,因此可以很容易地将其插入到Tableau和MicroStrategy等BI工具中,以在组织中广泛使用。

  2. 演练可提供大规模的低延迟性能

    Drill是专为复杂数据而构建的分布式列式SQL查询引擎 。 它不使用MapReduce,Tez或Spark 。 Drill可以部署在单个节点上,也可以水平扩展到10s到100s到1000s的节点,具体取决于需要支持的用户数量,要满足的性能SLA以及需要处理的数据量。 除了规模之外,Drill还具有出色的性能。 内存中的柱状执行引擎旨在优化短查询的处理,结合了高级和可插拔的优化功能,包括分区修剪,下推运算符以及基于规则和基于成本的查询重写功能。 这些功能使Drill在大数据生态系统中成为功能强大的交互式工具。

  3. Drill提供了细化和分散的安全模型

    Drill中的视图通常用作管理单元,以提供对Hadoop数据的细化行和列级访问控制。 与其他SQL技术/工具不同,钻取视图是去中心化的实体,并且仅作为文件系统上的文件进行维护(用户可以选择文件系统位置来创建视图作为查询的一部分)。 这意味着可以使用文件系统权限来保护视图,而无需建立单独的安全性存储库来管理权限。

    另外,Drill支持用户模拟,因此特定的用户身份可用于访问这些视图,而不是系统或进程用户访问数据,这在某些用户环境中是不可接受的。 Drill还提供了强大的所有权链接功能,可控制给定用户可以访问多少级嵌套视图,因此组织可以在自助数据探索与受控治理之间取得平衡。

演练用例

在更广泛的层面上,Drill的用例是对Hadoop数据湖/数据中心中存储的数据提供自助式BI /临时查询。 在这个保护伞下存在几个子用例 ,下面是一些常见的使用模式,我们看到客户在其环境中利用Drill。 请注意,根据数据处理和报告要求的类型,通常会同时使用这些用例的混合。

  • 原始数据浏览:数据通常以文本和JSON等原始数据格式进入Hadoop集群。 目标是以自助方式尽快将其提供给最终用户,分析师,数据科学家和其他SQL专家查询。 这是我们看到客户开始使用Drill时功能最强大且障碍最小的切入点。 Drill为这些大型原始数据集(有时由于处理过程的复杂性和成本而被忽略的数据集)带来了启发,立即打开了新型的BI用例类型,例如支持概念和查询的即席证明,新产品开发,数据发现用于构建模型,数据探索和数据质量报告。
  • Hive表上的低延迟查询:在这种情况下,首先使用Hive ETL作业对来自各种数据源(通常是传统系统的负载)到达Hadoop集群的数据进行建模,预处理和转换。 目标是打开存储在Hive中的BI / adhoc查询数据集。 这是标准用例,几乎所有Hadoop工具上的SQL都致力于解决此问题。 Drill凭借其ANSI SQL功能,与Hive的深度集成(允许重用Hive资产(例如文件格式,UDF和元数据定义))以及在Hive上进行的查询所带来的巨大性能提升,为该用例提供了强大的价值。
  • HBase / MapR-DB上的操作分析 :在此用例中,HBase / MapR-DB用作需要频繁更新的广泛,稀疏且经常动态的数据集的操作数据存储/数据中心。 Drill具有从NoSQL数据源实时发现架构的能力,并具有全面的SQL函数支持以读取/解释各种数据类型和编码,Drill成为查询这些系统中数据的自然工具。

产品进度

Drill社区正在通过迭代发布在产品上取得快速进展。 在GA中提供了核心基础后不久,便在7月发布了新的1.1版本(请参阅发行说明),它基于支持上述用例的功能集以及对SQL支持,性能,规模和企业的持续改进。可管理性。 Drill 1.2版本中还有更多令人兴奋的增强功能,您也可以检出。

如何开始使用Drill

  • 在10分钟内在笔记本电脑上开始使用Drill
  • 将Drill与Hadoop结合使用-MapR沙箱和教程
  • 尝试使用Amazon Web Services进行钻取
  • 将Drill下载到您的MapR集群
  • 按需训练
  • 详细的分步教程

有关完整文档,请参阅http://drill.apache.org/docs 。 其他资源可以在http://mapr.com/apachedrill找到

您有关于Apache Drill的问题吗? 在下面的评论部分中询问他们。

翻译自: https://www.javacodegeeks.com/2015/11/drill-into-your-big-data-today-with-apache-drill.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356513.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql grep 提取错误日志_详解grep获取MySQL错误日志信息的方法

为方便维护MySQL,写了个脚本用以提供收集错误信息的接口。这些错误信息来自与MySQL错误日志,而 通过grep mysql可以获取error-log的路径。以下是全部相关代码:#!/usr/bin/env python2.7#-*- encoding: utf-8 -*-"""该模块用于…

微信小程序需要https后台的创业机会思考

最近比较关注微信小程序,而且微信小程序的后台必须强制要求https, https相对http成本要高很多了。 这里我感觉有2个商机 (1)提供https 中转服务器 ,按流量来收费 (2) 微信小程序https 云后台 对于很多人学…

aspx是什么语言_什么是网页

第一个问题,什么是网页?我们通常在网上浏览的所有网页都是网页,一个网站由一页到50页不等的网页组成,一些大型网站可能包含数千万页,是第一个打开网站的网站。这些页面被称为主页。专有名词:这里简要介绍网页、网站和主…

[Intel Edison开发板] 04、Edison开发基于nodejs和redis的服务器搭建

一、前言 intel-iot-examples-datastore 是Intel提供用于所有Edison开发板联网存储DEMO所需要的服务器工程。该工程是基于nodejs和redis写成的一个简单的工程。针对nodejs和redis会在后面介绍。 It is a Node.js* application written using Express* (https://github.com/stro…

将Lucene搜索集成到应用程序中

本文是我们名为“ Apache Lucene基础知识 ”的学院课程的一部分。 在本课程中,您将了解Lucene。 您将了解为什么这样的库很重要,然后了解Lucene中搜索的工作方式。 此外,您将学习如何将Lucene Search集成到您自己的应用程序中,以…

mysql运算结果放入表中_MySQL表1新增数据,计算开始、结束日期之间所有时间,插入到表2中...

新建表c3#id设置自增量,kk是要同步的一些数据值,dd是开始时间,dde是结束时间CREATE TABLE c3 (id int(11) NOT NULL auto_increment PRIMARY KEY,kk varchar(255),dd datetime,dde datetime)新建表c4#id也设置自增量,kk是要同步…

git-svn — 让git和svn协同工作

git-svn — 让git和svn协同工作svn作为一个优秀源码版本的管理工具,可以适合绝大多数项目。但是因为它的采用中心化管理,不可避免的存在本地代码的备份和版本管理问题。也就是说对于尚未或暂无法提交到Subversion服务器的本地代码来说,存在着…

longtext长度为0是什么意思_为什么 HashMap 中链表长度大于 8 才转化为红黑树?

Java 中的 HashMap 采用链表法来解决哈希冲突(HashMap 原理),即具有相同桶下标的键值对使用一个链表储存。当链表变长时,查找和添加(需要确定 key 是否已经存在)都需要遍历这个链表,速度会变慢。…

Ulink2 No Ulink Device found 解决办法

一、背景keil使用ULINK2调试的时候,提示"No Ulink Device found","error: flash download failed - Target DLL has cancelled" 。之前一直都OK,然后今天突然不行,插上的时候,"COM",&qu…

python图形界面教程_图形教程

python图形界面教程众所周知,我们可以借助Java库制作游戏,这些库为我们提供制作游戏所需的图形。 因此,今天我将开始一个关于Java图形的非常新的部分。 我之前曾发表过有关如何制作所得税计算器的文章 。 首先要满足一些先决条件:…

java创建树结构_Java学习之XML-017

如果想快速有效的学习,思想核心是“以建立知识体系为核心”,具体方法是“守破离”。反复练习直到熟练。————百战程序员1.0 XML1.1 XML 简介XML 指可扩展标记语言。XML 被设计用来传输和存储数据。1. 什么是XMLXML 指可扩展标记语言(EXten…

dll文件是什么

dll实际上是动态链接库的缩写,从windows1.0开始,动态链接库就是整个操作系统的基础,那么这有什么作用呢?在dos时代,程序员是通过编写程序来达到预期的目的的,每实现一个目的就需要编写一个程序,…

minecraft pythonapl_Substance PythonAPI入门案例

第一次在知乎发文,技术朋友们请多包涵。Substance Designer自去年夏天2018版推出Python API至今已有一年,从一开始的寒酸到现在的初成规模,官方的API库也随着版本的更新不断完善。目前网上(包括youtube)相关的教程甚少,即便是官方…

创建示例HTTPS服务器以获取乐趣和收益

通常,在开发人员或/和针对实际场景进行测试期间,我们(开发人员)面临着运行成熟的HTTPS服务器的需求,可能同时进行一些模拟。 在JVM平台上,除非您知道适合此工作的正确工具,否则它过去并不是一件…

WebDriver API元素的定位

一、以下截图为用FireBug定位的用火狐(Firefox)浏览器打开的百度首页,下面所讲述的八种定位方法,就是以该截图中的百度输入框为例子。 ①、FireBug是Firefox浏览器下的开发类插件,通过该插件可以查看HTML、CSS、Javascript控制台、网络状况监…

mysql字符乱码百度_如何解决MySQL字符集乱码问题

变量 a 的字符编码是由参数 CHARACTER_SET_CLIENT 决定的,假设此时编码为 A,也就是变量 a 的编码。2. 写入语句在发送到 MySQL 服务端之前的编码由 CHARACTER_SET_CONNECTION 决定,假设此时编码为 B。3. 经过 MySQL 一系列词法,语…

[水煮 ASP.NET Web API2 方法论](1-6)Model Validation

问题 想要 ASP.NET Web API 执行模型验证,同时可以和 ASP.NET MVC 共享一些验证逻辑。 解决方案 ASP.NET Web API 与 ASP.NET MVC 支持一样的验证机制,都是通过System.ComponentModel.DataAnnoataions 的属性验证。使用框架提供的相关验证属性&#xff0…

findbugs-dea_FindBugs和JSR-305

findbugs-dea假设该组开发人员在大型项目的各个部分上并行工作-一些开发人员在进行服务实现,而其他开发人员在使用该服务的代码。 考虑到API的假设,两个小组都同意服务API,并开始单独工作。 您认为这个故事会有幸福的结局吗? 好吧…

课程2 谈论音乐行业的趋势

1. 音乐词汇 CDdownloadLPsrecordsvinyl 黑胶sounddlbum covers 专辑封面2. 使用类似单词谈论各种录制你和聆听音乐的不同媒体 I still prefer the sound of my old LP records.My father used to by a lot of CDs.Most of my music these days is MP3s.3. 你可以使用这些词来谈…

带有ActiveMQ和Maven的JMS Sender应用程序

我们已经看到了如何使用ActiveMQ和Maven创建JMS Receiver应用程序 。 让我们看看我们如何类似地创建JMS Sender应用程序 。 web.xml与创建接收器应用程序时使用的相同&#xff1a; <web-app xmlns"http://java.sun.com/xml/ns/javaee"xmlns:xsi"http://www…