1.描述
Dremio的数据反射是基于Apache Parquet和Apache Arrow的高性能柱状数据结构,用来维护源数据的物理优化,可直观理解为关系数据库中的索引;Data Reflections使用列化,压缩,排序,分区和聚合数据等技术,组织和优化Dremio查询执行引擎的数据;所以的反射数据都存在于Dremio的Reflection Store中,及如下配置项:
## 可配置本地或HDFS等远程存储
paths: {
# the local path for dremio to store data.
local: ${DREMIO_HOME}"/data"
# the distributed path Dremio data including job results, downloads, uploads, etc
#dist: "pdfs://"${paths.local}"/pdfs"
}
2.数据反射的类型
a).Raw reflections(原始反射)
原始反射包括Raw数据集中的一个或多个字段,按特定字段排序,分区和分布
b).Aggregation reflections(聚合反射)
聚合反射包括Raw数据集中的一个或多个维度和度量字段,按指定字段排序,分区和分布
c).External reflections(外部反射)
外部反射是一种非托管反射,允许用户利用外部系统中内置的现有数据集和汇总表作为Dremio中的反射
3.创建数据反射
a).选择数据源
b).配置反射
c).反射执行任务
任务概括
任务执行明细
任务资源
4.验证反射
a).反射前聚合查询
任务概括
任务执行明细
b).反射后聚合查询
任务概括
任务执行明细
c).数据反射结果
数据反射可以明细提高聚合查询的响应时间,但同时配置了数据反射会增加反射数据的磁盘占用;这也是一种以空间换时间的业务理念。