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

drill apache

自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

drill apache

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

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

相关文章

akka 消息发送接收_Akka型演员:探索接收器模式

akka 消息发送接收在上一篇文章中,我们研究了Akka Typed提供的一些基本功能。 在本文和下一篇文章中,我们将更进一步地了解一些其他功能,并通过查看Akka Typed提供的两种不同模式来做到这一点:Receiver和Receptionist模式。 如果您…

scale和java比较_浅谈java中BigDecimal的equals与compareTo的区别

这两天在处理支付金额校验的时候出现了点问题,有个金额比较我用了BigDecimal的equals方法来比较两个金额是否相等,结果导致金额比较出现错误(比如3.0与3.00的比较等)。【注:以下所讲都是以sun jdk 1.4.2版本为例,其他版本实现未必…

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

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

java初始化hashset_JAVA中的Hashset类

HashSet扩展AbstractSet并且实现Set接口。它创建一个类集&#xff0c;该类集使用散列表进行存储。正像大多数读者很可能知道的那样&#xff0c;散列表通过使用称之为散列法的机制来存储信息。在散列(hashing)中&#xff0c;一个关键字的信息内容被用来确定唯一的一个值&#xf…

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

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

java经纬度曲线简化_JAVA 后台计算 经纬度 最短距离

1、 代码块package com.ilogie.tms.util;import java.io.IOException;import java.math.BigDecimal;import java.text.MessageFormat;public class LocationUtils {// 以下为 获得 两点之间最短距离private static final BigDecimal EARTH_RADIUS MathUtil.toBigDecimal(6378.…

java ee的小程序_在Java EE应用程序中实现自动重试

java ee的小程序最初&#xff0c;我想将此博客称为“ 具有拦截器驱动的重试策略的灵活超时 ”&#xff0c;但后来我认为它太“繁重”。 该声明以及修改后的标题应该&#xff08;希望&#xff09;使您了解此帖子可能谈论的内容;-) 触发 这篇文章主要由我在较早的一篇文章中收到…

Java变长数组笛卡尔积_Java 8中的流作为流的笛卡尔积(仅使用流)

小编典典在示例中传递流永远比传递列表更好&#xff1a;private static Stream cartesian(BinaryOperator aggregator, List... lists) {...}并像这样使用它&#xff1a;Stream result cartesian((a, b) -> a b,Arrays.asList("A", "B"),Arrays.asLis…

jboss eap 7_EAP 7 Alpha和Java EE 7入门

jboss eap 7红帽JBoss企业应用程序平台7&#xff08;JBoss EAP 7&#xff09;是基于开放标准构建并符合Java Enterprise Edition 7规范的中间件平台。 它建立在WildFly等经过验证的创新开源技术之上&#xff0c;这将使Java EE 7的开发更加容易。 这是有关如何开始使用最新ALPHA…

php 返回页面重复提交,php防止表单重复提交

后端防止重复提交的基本原理:服务器返回表单页面时&#xff0c;会先生成一个subToken保存于session&#xff0c;并把该subToen传给表单页面。当表单提交时会带上subToken&#xff0c;服务器获取表单信息判断session保存的subToken和表单提交subToken是否一致。若不一致或sessio…

spark在服务器运行示例_创建示例HTTPS服务器以获取乐趣和收益

spark在服务器运行示例通常&#xff0c;在开发或/和针对真实场景进行测试期间&#xff0c;我们&#xff08;开发人员&#xff09;面临着运行成熟的HTTPS服务器的需求&#xff0c;可能同时进行一些模拟。 在JVM平台上&#xff0c;除非您知道适合此工作的正确工具&#xff0c;否则…

为什么说php单线程,php单线程的缺点是什么?

PHP即“超文本预处理器”&#xff0c;是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言&#xff0c;与C语言类似&#xff0c;是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习&#xff0c;使用广泛&#xff0c;主要适用于Web开发领…

sidecar_Spring Cloud Sidecar –节点初始化

sidecar在上一篇博客文章中&#xff0c;我描述了Sidecar应用程序如何用于在Eureka中注册Cassandra节点&#xff0c;更一般地&#xff0c;它可以用于在Eureka中注册任何非JVM应用程序。 在本文中&#xff0c;我将介绍应用程序如何查询Sidecar注册节点。 发现注册节点–初始化后…

php 对象 final,PHP7_OOP_对象重载以及魔术方法_对象遍历_final关键字

//对象遍历&#xff1a;class MyClass{public$var1 "value 1";public$var2 "value 2";public$var3 "value 3";protected$protected "pro var";private $private "privar";functioninterateVisible(){echo "MyClas…

供给测结构性改革内容_智能包装结构,提高可测性

供给测结构性改革内容有很多方法可以将整个应用程序分成多个包。 关于按功能或按层打包的优缺点的讨论可以在许多编程博客和论坛上找到。 我想从可测试性开始讨论这个主题&#xff0c;看看它是否会带来任何有意义的结果。 首先&#xff0c;让我们尝试描述我们通常希望跨不同层…

openshift_在OpenShift上扩展Java EE微服务

openshift这个小系列的前两个部分介绍了如何使用WildFly Swarm构建一个小型的JAX-RS服务并将其打包到Docker映像中 。 您学习了如何将此示例部署到OpenShift &#xff0c;现在是时候对其进行一些扩展了。 为什么扩展很重要 基于微服务的体系结构的关键方面之一是分解为高性能的…

php 异步post,php – 使用POST的异步cURL

我正在制作一个命令行应用程序.在执行登录过程后,我需要同时通过cURL发出多个POST请求 – 这意味着传出请求必须发送会话ID等.事件链如下&#xff1a;>我用curl_init打开cURL连接>我使用curl_exec登录远程站点发送POST请求,并获得返回的HTML代码作为响应>我同时向同一…

log4j2 logger_简单一致的Log4j2 Logger命名

log4j2 logger在“ 带有Java 7方法句柄的可移植记录器名称”一文中 &#xff0c;我写了关于使用Java 7的方法句柄来命名类的记录器的文章。 我在那篇文章中说过&#xff0c;这种方法的优点包括记录器命名的一致性&#xff0c;并避免了意外的代码复制和粘贴&#xff0c;这可能导…

java 子类tostring,JAVA中Object类的toString()方法,objecttostring

JAVA中Object类的toString()方法&#xff0c;objecttostringtoStringpublic String toString()返回该对象的字符串表示。通常&#xff0c;toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。Objec…

openshift 部署_在OpenShift上部署Java EE微服务

openshift 部署我昨天用WildFly Swarm在博客上发布了有关简单JAX-RS微服务的博客。 您学习了如何使用Maven构建所谓的“胖子”&#xff0c;还使用Maven Docker插件对我们的微服务进行了Docker化并在Docker Machine上本地运行。 这是在本地测试事物的好方法。 到目前为止&#x…