当前位置: 首页 > wzjs >正文

专业做包装设计网站做交通招聘的网站

专业做包装设计网站,做交通招聘的网站,网站文字不能编辑器,热门网页游戏平台在处理大型 SQLMesh 项目时,模型之间的依赖关系可能会变得非常复杂。为了更有效地管理这些项目,SQLMesh 提供了一种模型选择机制,允许用户有针对性地选择需要更新的模型。本文将详细介绍如何使用 SQLMesh 的模型选择功能来优化项目更新过程。…

在处理大型 SQLMesh 项目时,模型之间的依赖关系可能会变得非常复杂。为了更有效地管理这些项目,SQLMesh 提供了一种模型选择机制,允许用户有针对性地选择需要更新的模型。本文将详细介绍如何使用 SQLMesh 的模型选择功能来优化项目更新过程。

背景

SQLMesh 是一个用于数据集成和转换的工具,它能够自动检测本地版本与部署环境之间的差异,并在应用计划时回填直接修改的模型及其下游受影响的子模型。然而,在大型项目中,单个模型的更改可能会影响许多下游模型,导致评估和回填过程耗时较长。在这种情况下,用户可能只需要关注部分模型的更改结果,而不必回填所有受影响的模型。
在这里插入图片描述

模型选择语法

SQLMesh 的模型选择通过 --select-model 参数实现。选择可以以多种方式指定:

  1. 单个模型名称:例如 example.incremental_model

  2. 多个模型名称:可以通过重复 --select-model 参数来指定多个模型名称,例如:

    sqlmesh plan --select-model "example.incremental_model" --select-model "example.full_model"
    
  3. 通配符:使用星号 * 来选择多个模型。例如:

    • "example.seed*" 将匹配 example.seed_citiesexample.seed_states
    • "example.*l_model" 将匹配 example.incremental_modelexample.full_model
  4. 标签选择器:使用 tag:tag_name 语法来选择具有特定标签的所有模型。例如:

    • "tag:my_tag" 将选择所有带有 my_tag 标签的模型。
    • 假设所有种子模型都有 seed 标签,所有增量模型都有 incremental 标签,则 "tag:seed" 将匹配所有种子模型,而 "tag:incremental" 将匹配所有增量模型。

上游/下游指示符

默认情况下,只有直接更改的模型会被包含在计划中。可以使用加号 + 来选择模型的上游或下游模型:

  • 上游模型:在选择的开始处使用加号,例如 +example.incremental_model 将包括 incremental_model 的上游模型 seed_model
  • 下游模型:在选择的末尾使用加号,例如 example.incremental_model+ 将包括 incremental_model 的下游模型 full_model

上游/下游指示符可以与通配符一起使用,以实现更精细的选择。例如:

--select-model "+example.*l_model"  # 包括所有三个模型:example.incremental_model, example.seed_model, example.full_model

回填

SQLMesh 默认会回填计划中所有直接和间接修改的模型。在大型项目中,这可能会非常耗时。可以使用 --backfill-model 参数来限制需要回填的下游模型,该参数使用与 --select-model 相同的选择语法。

  • --select-model 确定哪些直接修改的模型被包含在计划中。
  • --backfill-model 确定哪些模型由计划进行回填。

注意,如果同时指定了 --select-model--backfill-model 选项,单个模型可能受到两个选项的影响。例如,如果模型 test_model 不被 --select-model 选择,但它是某个 --backfill-model 模型的上游,则其现有版本将被回填。

示例

我们将使用 SQLMesh 的 sushi 示例项目来演示 --select-model--backfill-model 的使用。该项目位于 SQLMesh GitHub 仓库的 examples/sushi 目录中。

无选择

如果不选择特定模型,SQLMesh 将包括两个直接修改的模型和四个间接修改的模型:

sqlmesh plan dev
# 输出省略
Differences from the `prod` environment:
Models: Directly Modified: sushi.order_items sushi.items
Indirectly Modified: sushi.waiter_revenue_by_day sushi.customer_revenue_by_day sushi.customer_revenue_lifetime sushi.top_waiters

选择特定模型

仅选择 sushi.order_items
sqlmesh plan dev --select-model "sushi.order_items"
# 输出省略
Differences from the `prod` environment:
Models: Directly Modified: sushi.order_items
Indirectly Modified: sushi.waiter_revenue_by_day sushi.customer_revenue_by_day sushi.customer_revenue_lifetime sushi.top_waiters
选择 sushi.order_items 及其上游模型
sqlmesh plan dev --select-model "+sushi.order_items"
# 输出省略
Differences from the `prod` environment:
Models: Directly Modified: sushi.items sushi.order_items
Indirectly Modified: sushi.top_waiters sushi.customer_revenue_lifetime sushi.waiter_revenue_by_day sushi.customer_revenue_by_day
选择 sushi.items 及其下游模型
sqlmesh plan dev --select-model "sushi.items+"
# 输出省略
Differences from the `prod` environment:
Models: Directly Modified: sushi.items sushi.order_items
Indirectly Modified: sushi.waiter_revenue_by_day sushi.customer_revenue_lifetime sushi.customer_revenue_by_day sushi.top_waiters
使用通配符选择 sushi.*items
sqlmesh plan dev --select-model "sushi.*items"
# 输出省略
Differences from the `prod` environment:
Models: Directly Modified: sushi.order_items sushi.items
Indirectly Modified: sushi.waiter_revenue_by_day sushi.top_waiters sushi.customer_revenue_by_day sushi.customer_revenue_lifetime

回填示例

无回填选择
sqlmesh plan dev
# 输出省略
Models needing backfill (missing dates):
sushi__dev.items: 2023-12-01 - 2023-12-07
sushi__dev.order_items: 2023-12-01 - 2023-12-07
sushi__dev.customer_revenue_by_day: 2023-12-01 - 2023-12-07
sushi__dev.customer_revenue_lifetime: 2023-12-01 - 2023-12-07
sushi__dev.waiter_revenue_by_day: 2023-12-01 - 2023-12-07
sushi__dev.top_waiters: 2023-12-01 - 2023-12-07
仅回填 sushi.waiter_revenue_by_day
sqlmesh plan dev --backfill-model "sushi.waiter_revenue_by_day"
# 输出省略
Models needing backfill (missing dates):
sushi__dev.items: 2023-12-04 - 2023-12-10
sushi__dev.order_items: 2023-12-04 - 2023-12-10
sushi__dev.waiter_revenue_by_day: 2023-12-04 - 2023-12-10

通过使用 SQLMesh 的模型选择功能,用户可以更灵活地管理大型项目的更新过程,从而提高效率和准确性。希望本文能帮助你更好地利用这一功能!


文章转载自:

http://9irQ6KSB.gfnsh.cn
http://JMcAFOmq.gfnsh.cn
http://wqgLywMp.gfnsh.cn
http://bg4NPmXv.gfnsh.cn
http://aLcSVW3W.gfnsh.cn
http://XGYOnMLJ.gfnsh.cn
http://jXqAgCtE.gfnsh.cn
http://gk03DCPO.gfnsh.cn
http://IPpkydyV.gfnsh.cn
http://7xQQIvGh.gfnsh.cn
http://BJS8eMnD.gfnsh.cn
http://W1mUzP4W.gfnsh.cn
http://XCE0b8pv.gfnsh.cn
http://Nv1Khmrw.gfnsh.cn
http://KSUZEYyY.gfnsh.cn
http://BeHqtJqv.gfnsh.cn
http://lUc7Dq3z.gfnsh.cn
http://yEUOK4bB.gfnsh.cn
http://zTBYyKrV.gfnsh.cn
http://PnqE8wrr.gfnsh.cn
http://NF0IDnJo.gfnsh.cn
http://OxgJnK5C.gfnsh.cn
http://PHDEKMMm.gfnsh.cn
http://kvPyl39C.gfnsh.cn
http://QKnCHwaB.gfnsh.cn
http://vwwD731V.gfnsh.cn
http://Mjs8Lfkx.gfnsh.cn
http://4t8VAwKW.gfnsh.cn
http://a9X3N4kQ.gfnsh.cn
http://bqc6eIqa.gfnsh.cn
http://www.dtcms.com/wzjs/636187.html

相关文章:

  • 做网站笔记本微信网页版二维码
  • 温州网站制作网站wordpress文章显示不全
  • 网站建设设计稿泰安市两学一做网站
  • 网站中文字内容左右切换的js代码莱芜杂谈
  • 怎么简单页网站找图做素材啥网站好
  • 做电影网站一年赚多少钱深圳 网站定制
  • 大连做网站公司阿里云网站备案要多久
  • 我想自己建个网站 应该怎么做app开发流程详细
  • 山东建设厅网站 高英wordpress语言文件编辑
  • 亿客搜网站建设网络营销八大工具
  • 网站域名空间购买南通城乡建设局网站
  • html5教育网站公司的网站建设与维护论文
  • 怎样免费做外贸网站兰州中川国际机场电话
  • 简述织梦网站上传步骤网络科技公司介绍
  • 如何寻找做企业网站的门户网站建设理由
  • 绥化北京网站建设惠州企业建站程序
  • 公司做网站要多少钱如何让人帮忙做网站
  • 福建省建设信息网站咖啡网站模板
  • 全国知名网站主题网站设计
  • 荣耀手机商城官方网站登录入口网络编程基础知识
  • 河西网站建设开发国建设银行e路通网站申
  • 创建学校网站吗商标注册查询网官网
  • 2017民非单位年检那个网站做档案网站的建设
  • 网站个人中心wordpress石家庄百度推广家庄网站建设
  • 家教网站如何建设子商务网站建设的一般流程图
  • 深圳网站设计 商城wordpress域名邮箱
  • 建设家具网站的目的及功能定位天津营销网站建设联系方式
  • 厦门网站建设制作wordpress翻页图片效果
  • 网站建设资质要求网站建设公司网站建设公司
  • 建设银行怎么加入信用网站网站创建需要多少钱