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

亚马逊欧洲站vat怎么申请怎么做线上销售

亚马逊欧洲站vat怎么申请,怎么做线上销售,免费软件网站有哪些,WordPress怎么设置分类各种工具都已将软件工程实践引入到数据工程中,但仍有差距存在,尤其是在测试和工作流等领域。SQLMesh 的目标是在这些领域开辟新的天地,解决像 dbt 这样的竞争产品尚未提供强大解决方案的难题。在这篇文章中,我将对 SQLMesh 进行简…

各种工具都已将软件工程实践引入到数据工程中,但仍有差距存在,尤其是在测试和工作流等领域。SQLMesh 的目标是在这些领域开辟新的天地,解决像 dbt 这样的竞争产品尚未提供强大解决方案的难题。在这篇文章中,我将对 SQLMesh 进行简要介绍,分享有关其功能和潜在影响的见解。

安装SQLMesh

上文我们已经创建了示例SQLMesh项目,你可以使用它来学习本文中的示例。

python3 -m venv .venv
source .venv/bin/activate# SQLMesh uses extras to install specific modules that are used in the project. 
# This allows you to quickly extend SQLMesh with the desired capabilities 
# and at the same time ensure a lean footprint.
pip install "sqlmesh[postgres,web]"

项目结构介绍

如果你以前使用过dbt,那么您会对SQLMesh项目框架感到熟悉。开发人员已经确保SQLMesh与dbt向后兼容,允许现有dbt项目的无缝迁移。

  • config.yml - 在您的项目的根目录下,您会发现一个简洁明了的基于 YAML 格式的 SQLMesh 配置文件。此文件内容简短,主要侧重于设置网关(多个网关时)以及定义模型的默认 SQL 语言。
  • Audits - 验证数据是一项至关重要的功能,它应当让数据的生产者和消费者都确信数据符合预期。dbt 也提供了类似的功能,称为“数据测试”。
  • macros - 现在被视为标准的一项功能是能够通过编程式的函数(例如 if 语句、for 循环和筛选表达式)增强静态 SQL 语句。这种功能通常通过宏系统来实现,比如在 dbt 中使用 Jinja,这是一个流行的基于 Python 的模板引擎。SQLMesh 也支持 Jinja,但更进一步提供了自己的宏系统。与简单的字符串替换不同,它解释 SQL 语义,使其成为更强大和灵活的工具。在我看来,这种新增的能力不仅因其优雅的语法而值得称赞,还因其强大的功能而如此,值得肯定。
  • Models- SQLMesh 在定义数据模型方面与众不同的地方在于其如何管理元数据。它并非像其他工具那样使用单独的 YAML 文件,而是直接在 SQL 代码中定义元数据。在我的测试中,我发现这种方法特别直观且对开发者友好,使得建模过程更加顺畅和高效。
    • 原始数据集(Seeds) - 尽管这种情况可能不常见,但我们都知道它迟早会发生的:整合基于 CSV 或 JSON 的数据集。为了解决这个问题,SQLMesh 与 dbt 一样,包含了对原始数据集的支持。在 SQLMesh 中,数据集文件存储在指定的文件夹中,然后在 Models 文件夹中定义相应的模型。
  • 测试(tests) - 我完全赞同 SQLMesh 在为数据建模实现单元测试方面的做法。它并非采用传统的审计方式,而是侧重于一种直接的输入与输出对比检查,这种检查能够快速且轻松地执行,且无需依赖大量资源。这种方法不仅加快了反馈流程,还为数据工程师提供了实用的工具,使他们能够在数据的背景下采用诸如测试先行开发之类的概念。自 1.8 版本起,dbt 还提供了“单元测试”。

SQLMesh核心机制

这是SQLMesh的另一个真正优势所在。开发人员已经解决了数据集开发中的一个关键挑战:管理数据模型的多个版本。SQLMesh引入了虚拟数据环境的概念,它在两个层面上运行:物理和虚拟。

SQL Mesh Engine├── 物理层:数据库仓库 + 快照存储├── 虚拟层:环境隔离视图 + 版本映射├── 元数据引擎:指纹计算 + 依赖解析└── 测试引擎:快照验证 + 自动回滚

在这里插入图片描述

在物理层面,当一个新项目启动并首次执行计划时,会为每个模型创建一个快照(版本 1)。在所有测试和审计成功完成后,虚拟层面就会发挥作用。会为相应的环境创建一个视图,指向最新的快照。这种方法确保了有效的版本管理以及无缝的更新。

# sqlmesh plan [environment name]
# if you provide no name it will by default use "prod" as environment.
sqlmesh plan

当显式指定环境时,例如“dev”,流程将为dev创建虚拟层,并将视图指向模型的最新快照版本。

sqlmesh plan dev

当对模型进行修改时,SQLMesh 会采用一套复杂的指纹识别系统,该系统不仅会分析模型本身,还会分析整个依赖树。这确保了所有受影响的模型都得到了验证。如果该变更首先在“开发”环境中应用,那么在成功测试和审核后会创建一个新的快照版本,并且“开发”环境中的视图指针会被更新到新的版本。
如果出现操作错误,只需执行一个命令即可轻松回滚到之前的快照版本,无需重新处理数据。这真是太巧妙了!

sqlmesh rollback

如果你想知道那些不再使用的旧快照会怎样处理,那么 SQLMesh 提供了一个解决方案:一个名为“Janitor”的垃圾回收器。此进程会在每次计划执行时自动运行,或者在需要时通过 CLI 命令手动触发运行。

sqlmesh janitor

最后总结

为了提升数据工程的质量,采用成熟的软件工程实践和原则至关重要。SQLMesh 在这方面取得了显著进展,引入了诸如虚拟数据环境等创新概念。我还赞赏其通过单元测试方法来提高测试效率的专注点。在实际操作中,我发现以 YAML 格式定义模拟对象并快速有效地验证 SQL 模型的逻辑特别方便,而且无需依赖大量资源。

然而,就像任何进入成熟市场的新竞争者一样,SQLMesh 必须在行业领导者 dbt 的竞争中证明自己的实力。尽管我认为 SQLMesh 具有强大的潜力能够确立稳固的地位,但 dbt 的大量使用者是否会转向 SQLMesh 还有待观察。话虽如此,我建议你仔细研究一下 SQLMesh 的理念,并评估其可能为组织带来的价值。

http://www.dtcms.com/wzjs/502139.html

相关文章:

  • 网站建设与推广策划书网站优化推广服务
  • 如何提升网站访问速度百度统计api
  • wordpress修改网站icon网络推广平台有哪些渠道
  • 淮南appseo快速排名案例
  • 澄城县城乡建设局网站网络营销推广策划
  • 国家建设标准网站湖北荆门今日头条
  • 永年网站建设b站视频推广网站动漫
  • 邯郸做网站公司网络营销知识
  • 网站建设谈单技巧企业邮箱入口
  • 西安建网站的公司投广告哪个平台好
  • 北京企业网站seo百度快照网址
  • 用网站做简历seo顾问服务深圳
  • 荔浦网站开发台州网站优化公司
  • 居士做网站网站排名优化公司哪家好
  • 模版网站建设百度营销中心
  • 最好的网站模版市场营销方案怎么做
  • 外贸网站google推广可以看任何网站的浏览器
  • 营销型网站建设渠道推广策略
  • wordpress mysqlseo包年优化
  • 石家庄网站设计公司的别名是成都网络营销公司
  • 上海做网站的小公司有哪些免费做网站
  • 丽水做网站的公司网站制作推广电话
  • 小升初在线做试卷的网站企业管理培训课程网课免费
  • 校园网站建设的参考文献广州百度网站快速排名
  • 响应式网站开发原理百度非企推广开户
  • 网站 内容 不收录 权重 1中国网络营销公司
  • 社交做的最好的网站有哪些百度seo网站
  • 哈市哪里网站做的好seo排名快速
  • 旅游外贸网站建设推广怎么优化一个网站关键词
  • wordpress 登录空白内部搜索引擎优化