• 来自官方的一些dbt 最佳实践


    限制对原始数据的依赖性

    您的项目将取决于存储在数据库中的原始数据。我们建议制作所谓的“基本模型”,以最大限度地减少对原始数据表的依赖性。在此约定中,基本模型可以具有以下职责:

    • 仅选择与当前分析相关的字段以限制复杂性。以后可以随时添加更多字段。
    • 执行任何所需的类型转换。
    • 执行字段别名以将字段名称合理化为项目中使用的标准格式。
    • 充当给定原始数据表的唯一访问点。

    在此约定中,所有后续数据模型都建立在基本模型之上而不是原始数据之上 - 仅允许基本模型从原始数据表中进行选择。这可以确保基本模型中的所有转换都将应用于此数据的所有使用,并且如果源数据表移动(或位于不同环境中的不同架构或表中),则可以在单一的地方。

    有关基本模型的简单示例,请查看此Quickbooks基本模型

    首先构建视图

    在构建新的dbt模型时,默认情况下将这些新模型实现为视图是很常见的。视图部署速度非常快,而且配置选项很少。由于模型行为由配置控制,因此您可以在项目需要发展时更新特定模型的配置,而无需修改模型代码。

    要将项目配置为默认视图,您需要将以下内容放入dbt_project.yml

    models:
      [your-project-name]:
        enabled: true
        materialized: view

    管理多个环境

    dbt支持target给定项目中的多个s ~/.dbt/profiles.yml用户可以配置默认值,target并可以使用--target传递给标志覆盖此设置dbt run我们建议您将默认设置设置target为开发环境,然后target专门切换到生产环境以部署到生产环境。

    使用target管理多个环境,您可以灵活地根据自己的选择设置环境。通常,环境由同一数据库中的模式管理:所有测试模型都部署到调用的模式dbt_[username],生产模型部署到调用的模式analytics理想的设置将生产和测试数据库完全分开。无论哪种方式,我们强烈建议维护多个环境并使用管理部署target

    源控制工作流程

    我们认为所有dbt项目都应该通过源代码管理来管理。我们使用git进行所有源代码控制,并使用分支和拉取请求来保持主分支成为组织真实的唯一来源。

    以交互方式使用dbt

    当您的项目变得足够大时,dbt run可能需要一段时间。dbt提供了三种主要方法来解决此问题,以便您可以快速部署对数据库的更改:

    1. 在开发过程中尽可能使用视图而不是表。视图通常比表更快地部署,并且在开发过程中,后续分析查询尽可能快地运行通常并不重要。以后可以轻松更改此设置,它不会对您的业务逻辑产生任何影响。
    2. 使用dbt_project.yml禁用你没有目前的工作项目的部分。如果给定项目中有多个模块,请关闭当前未处理的模块,以便不会对每个模块进行部署dbt run
    3. --models旗帜传递dbt run此标志使dbt仅部署您指定的模型及其依赖项。如果您正在处理特定模型,这会在大型项目中的部署时间上产生非常显着的差异。
  • 相关阅读:
    了解运行时类型信息(RTTI)
    linux培训笔记1
    Delphi 的各种错误信息(中英文)
    delphi XML 原来可以玩接口
    wxWidgets初学者导引(2)——下载、安装wxWidgets
    Delphi中ADO异步执行方式
    模态运行EXE程序
    window.setTimeout()函数的使用
    应用程序的关闭退出(在FMX中,Activity替代了Form的概念)
    Dll方式的线程,需要引用这个
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/9824145.html
Copyright © 2020-2023  润新知