自动化Python和SQL任务的数据建模和处理框架

sayn的Python项目详细描述


SAYN logo

SAYN是一个现代化的数据处理和建模框架。用户定义任务(包括Python、自动SQL转换等)及其关系,SAYN负责剩下的任务。它旨在简化、灵活和集中化,以便为数据工程工作流程带来显著的效率提高。在

用例

SAYN可用于数据工程和分析工作流的多种用途:

  • 数据提取:使用定制的提取过程补充Fivetran或Stitch等工具。在
  • 数据建模:转换数据仓库中的原始数据(例如聚合活动或会话、计算营销活动ROI等)。在
  • 数据科学:整合和执行数据科学模型。在

主要特点

SAYN具有以下主要功能:

  • 基于YAML的DAG(直接无环图)创建。这意味着所有分析师,包括不精通Python的分析师,都可以使用SAYN轻松地向ETL进程添加任务。在
  • Automated SQL transformations:编写SELECT语句。SAYN将其转换为表/视图,并为您管理所有内容。在
  • Jinja parameters:使用Jinja模板可以在开发和产品环境以及其他技巧之间轻松切换。在
  • Python tasks:使用Python脚本来补充提取和加载层并构建数据科学模型。在
  • 支持多个databases。在
  • 还有更多。。。参见Documentation。在

设计原则

赛恩的目标是通过其三个核心设计原则来增强数据工程师和分析师的能力:

  • Simplicity:数据过程应该易于创建、扩展和维护。因此,您的团队可以专注于数据转换,而不是编写流程。SAYN系统地安排您的所有任务,并提供许多自动化功能。在
  • Flexibility:数据的力量是无限的,你的工具也应该如此。SAYN同时支持SQL和Python,因此您的分析师可以为每个进程选择最理想的解决方案。在
  • centralization:所有的分析代码都应该放在一个地方,这样你的生活就更容易了,并且在整个分析过程中允许依赖关系。在

快速入门

$ pip install sayn
$ sayn init test_sayn
$ cd test_sayn
$ sayn run

就这样!您完成了示例项目的第一次SAYN运行。继续看Tutorial: Part 1,这将给你一个很好的概述塞恩的真正力量!在

支持

如果您需要任何关于SAYN的帮助,或者只是想知道更多,请联系团队,电话sayn@173tech.com。在

许可证

SAYN在Apache 2.0许可下是开源的。在


制作:心:由173tech。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将Scanner对象作为构造函数参数传递给UserInterface类   spring未能启动bean“subtocolWebSocketHandler”;嵌套的例外是java。lang.IllegalArgumentException:没有处理程序   Java EE应用程序中后台服务的多线程Java线程(设置守护进程和优先级)?   java Pull to refresh返回列表的第一个位置   无法将comparator类转换为java。可比的   java将json从servlet传递到dojo   JavaHibernate:将子类实例转换为超类实例   java警告调用servlet类时非法反射访问   java静态变量值   java@Entity和@embeddeble之间有什么区别   java将作业配置导入公共作业配置类(注释配置)   sql公共表表达式(以values语句开头)在java中给出错误   java在ImageJ中使用ImageProcessor   java PostgreSQL executeBatch()会随着时间的推移而变慢   java在安卓中以表格形式排列sqllite表数据?   java中SVG的swing定制呈现   java删除与另一个实体映射的实体   java何时/如何添加ListView适配器,使用back按钮恢复它?(片段)   java为什么IBinder和Binder之间的类型转换不是非法的?   java在方法参数列表中使用ArrayList或List