首页 > 其他分享 >dremio 的自服务语义层创建简单说明

dremio 的自服务语义层创建简单说明

时间:2023-11-28 11:00:58浏览次数:44  
标签:dremio 创建 可以 语义 此层 应该 数据 进行

内容来自官方文档,介绍了一些关于dremio 的数据语义层的玩法

原则

  • 分层 
    通过分层可以确保安全,性能以及可用性,dremio 提供了一个对于语义层的最佳实践
  • 数据集的注释增强发现以及可理解性 
    可以通过tag 以及文档(wiki)进行数据的描述

最佳实践

  • 使用1:1 的预处理层 
    此层的数据接近原始数据源,可以用来对于按需数据的组织,而不是所有的数据,这一层那个view 会映射到原始数据源中的数据 
    同时没有join 操作其他view
  • 使用业务层进行数据集的逻辑join 
    这层的数据的做法
  1. 查询预处理层的资源,应该选择所有预处理层的列数据,典型是一个1:1 的映射
  2. 查询其他同一业务层的资源,当查询的时候应该以来业务层的数据,而不是预处理层的,这样可以缺少数据join 可以进行方便的传播 
    应该使用通用的术语进行业务实体的描述,同时也可以在此层中创建子层,那个包含特定主题数据,这些是可复用的,应该在业务线中是可复用的组件 
    典型的不应该在此层进行filter (包含行以及列数据),应该推迟到应用层 
    此层可以提升产品以及分析的主动权,最大化的减少重复,可以对于数据工程师提供自服务模型,可以方便的在数据消费者中进行共享,减少数据到业务线的服务交付
  • 使用业务层对于数据消费进行组织 
    应该层view 主要是为了数据洗消费者进行组织,典型的场景包括数据分析,数据科学,如果应该层要提供一个dremio 语义服务的自服务访问,应该使用最小原则 
    如果此层不做为自服务提供,但是是对于特定应用的,此层应该依赖在应用层中的其他自服务视图,同时添加特定的应用业务逻辑,应该层可以基于应用进行row 的过滤 
    同时列的数据也可以进行减少
  • 利用tag 进行可搜索性的增强 
    比如对于不同的业务组,同时也可以进行多个tag 的添加
  • 使用wiki 内容进行数据集的装饰 
    wiki 可以方便人员对于数据的理解
  • 使用数据血缘理解对象的关系 
    此功能实际上属于企业版的,可以方便知道数据的资源关系

说明

同时官方还有一个独立的关于语义层的最佳实践说明,很值得看看

参考资料

https://docs.dremio.com/current/help-support/lakehouse-arch/semantic

https://docs.dremio.com/current/help-support/best-practices/semantic_layer

标签:dremio,创建,可以,语义,此层,应该,数据,进行
From: https://blog.51cto.com/rongfengliang/8597300

相关文章

  • dremio metabase 高版本jdk连接问题
    目前已经有不少新项目都是使用了高版本的jdk,比如不少使用了jdk11,还有直接使用jdk17的dremiojdbc驱动支持的jdk主要是8,对于其他高版本jdk的支持会有一些问题核心是netty相关的以下是一个参考配置启动参数配置适合jdk17以及以上版本的 java--add-opens=java.base/java.......
  • NX二次开发 创建基准平面UF_MODL_create_fixed_dplane
    简介:    NX二次开发创建基准平面UF_MODL_create_fixed_dplane代码:doubledouOriginPoint[3]={0,0,5};doubledouPlaneNormal[3]={0,0,1};tag_ttagPlane=NULL_TAG;UF_MODL_create_fixed_dplane(douOriginPoint,douPlaneNormal,&tagPlane);    m......
  • NX二次开发 创建圆柱 UF_MODL_create_cylinder
    简介:    NX二次开发创建圆柱UF_MODL_create_cylinder。代码:#include"me.hpp"externDllExportvoidufusr(char*param,int*returnCode,intrlen){ UF_initialize(); UF_FEATURE_SIGNsign=UF_NULLSIGN;//布尔无 doubledouStartPoint[3]={0.0}; cha......
  • C++ 修改文件创建时间、修改时间属性
    简介        修改文件创建时间、修改时间、大小等属性。        博客《C++获取文件创建时间、修改时间、大小等属性》分享后,好兄弟“古月”发来一段代码,说可以修改文件的创建时间等。测试了一下真可以,下面是运行效果和代码:代码#include<windows.h>#include<f......
  • C++ 使用Windows的API CreateDirectory 创建多层级文件夹
    简介使用Windows的API创建多层级文件夹效果代码#include<windows.h>#include<direct.h>#include<iostream>#include<string>#include<sstream>#include<vector>//创建多层级文件夹boolCreateDir(conststd::string&path){ std::......
  • C++ 获取文件创建时间、修改时间、大小等属性
    简介获取文件创建时间、修改时间、大小等属性代码#include<iostream>#include<string.h>#include<time.h>voidmain(){std::stringfilename="E:\\LiHai123.txt";struct_statstat_buffer;intresult=_stat(filename.c_str(),&stat_b......
  • django 创建model 并迁移生成表 在创建记录的写法流程
    django创建model并迁移生成表在创建记录的写法流程在Django中,创建一个新的模型并迁移生成表的步骤如下:在你的应用的models.py文件中定义模型。例如,我们创建一个名为Person的模型,它有name和age两个字段:fromdjango.dbimportmodelsclassPerson(models.Model):name=m......
  • Linux用户管理:从创建到权限控制的完整指南
        在Linux系统中,用户管理是系统管理员不可或缺的任务之一。有效的用户管理可以确保系统安全、资源合理分配,并提高整体系统管理效率。本文将深入探讨Linux用户管理的各个方面,从用户的创建到权限的控制,为管理员提供一份全面的指南。1.创建用户Linux系统使用`useradd`命......
  • Pip换源及创建虚拟环境
    Pip换源(1)问题描述在使用Python时,我们经常需要用到pip安装第三方包。但是,在某些情况下,由于网络速度慢或者其他各种原因,pipinstall会非常慢,甚至可能无法完成。为了解决这个问题,我们提供以下几种方法。(2)永久更换pip源一般来说,我们使用的是默认的pip源,这个源由于各种原因会......
  • 第10次-创建一个在线网站
    这个作业属于哪个课程https://edu.cnblogs.com/campus/uzz/cs3这个作业要求在哪里https://edu.cnblogs.com/campus/uzz/cs3/homework/13118这个作业的目标第10次-创建一个在线网站通过腾讯云创建一个个人博客:http://43.139.124.72:233/博客里面含有个人简历......