Dremio

定义

Dremio is a next-generation data lake engine that liberates your data with live, interactive queries directly on cloud data lake storage.

dremio_arch

Dremio是一个非常灵活,功能强大的Query Engine。后端可以对接多种数据源(如Oracle,Hadoop,S3,或者直接从文件读取,如Parquet,JSON),前端可以对接多种展示平台(如Power BI,Tableau)。

特点

它的特点主要就是快,灵活

参考 -> https://docs.dremio.com

竞争对手

OLTP and OLAP

在分析Dremio的原理之前,先花点时间解释下OLTP和OLAP的概念。

简言之,首先,数据写入OLTP系统,然后,通过ETL过程,汇总到OLAP系统中,最后,分析师通过一些BI工具从OLAP系统中查看数据。

参考 -> https://www.stitchdata.com/resources/oltp-vs-olap

原理

为什么快?官网上是这么写的:

总结起来,主要有两个因素:

dremio_columnar

参考以下:

数据源

dremio_source

数据类型

dremio_datatype

实战101

注:The 64-bit Java Development Kit version 1.8 is required.

首先,我们需要装好JAVA,然后,下载Dremio。

参考 -> https://docs.dremio.com/quickstart/standalone-quickstart.html

装好之后,就可以启动了,

如果是Linux,使用命令sudo service dremio start,如果是Windows,可以打开Dremio的应用。下面演示的是Windows环境下的启动。

启动界面

(dremio_action_0)

第一次使用需要注册一个新用户,之后再使用就是登陆界面。

(dremio_action_1)

然后,我们需要添加一些source,这里使用的是自带的sample文件。

(dremio_action_3)

可以点开来看里面的具体内容。

(dremio_action_4)

添加好后,我们就可以在Dremio里面query。这个表是存储的是SF一年里面每天温度的情况。

(dremio_action_5)

比如,我们想知道一年中的最低气温,可以这样写:

(dremio_action_6)

参考以下:

使用 Dremio 加载外部数据案例

加载Elasticserch数据分析

参考 -> https://developer.aliyun.com/article/714472

加载HDFS文件数据分析

参考 -> https://developer.aliyun.com/article/713924

反射

Dremio的数据反射是基于Apache Parquet和Apache Arrow的高性能柱状数据结构,用来维护源数据的物理优化,可直观理解为关系数据库中的索引;Data Reflections使用列化,压缩,排序,分区和聚合数据等技术,组织和优化Dremio查询执行引擎的数据。

参考以下:

引用

Fork me on GitHub