0%

Linkis作为一个计算中间件,是scritpis,visualis,qualitis,exchangis等数据应用组件的计算入口,至关重要。

本文主要的关注点是linkis的组件构成,以及linkis中的作业执行流程

阅读全文 »

DSS(DataSphereStudio)的实现强依赖于Linkis计算中间件,dss包含6个,而底层linkis需要部署18个服务,所以一般基于dss二次开发,关键就是对linkis的hadoop集群做适配,以及超多的微服务导致部署的问题(工作量大,服务间存在依赖,容易出错)。

本文主要的关注点是如何将dss应用于生产环境并采用gerrit + jenkins + ansible + docker实施cicd,实现对linkis和dss的自动化部署,封装每个微服务在不同运行环境的配置和启动脚本。

阅读全文 »

airflow要投入生产,定制成本太高,国产apache dolphinScheduler真香,只是可惜airflow使用python代码对dag进行版本控制的思路没有采用,得自己实现版本控制。

阅读全文 »

什么是数据湖?

数据湖是一个集中式存储库,允许您以任意规模存储所有结构化和非结构化数据。您可以按原样存储数据(无需先对数据进行结构化处理),并运行不同类型的分析 – 从控制面板和可视化到大数据处理、实时分析和机器学习,以指导做出更好的决策。

阅读全文 »

airflow和传统的调度系统的最大区别是采用workflow as code思想,,dag是采用python代码定义,目标用户是熟悉python的工程师,普通用户使用成本较高。

阅读全文 »

一个调度系统,涉及的功能可按任务执行周期分为3部分:

  • 执行前:
    • 任务定义,如任务关系可以用DAG定义;
    • 任务调度,如按cron调度;
    • 任务分发,如通过mq分发任务;
  • 执行中:
    • 任务执行资源隔离:不同作业可在不同的机器上执行;
    • 任务执行并发控制:同一类型的作业可控制并发数;
    • 任务执行进度查询:可查询作业中每个任务的执行情况;
  • 任务后:
    • 任务执行异常通知:任务执行异常有邮件/消息通知机制;
    • 任务执行情况统计:可以分析历史执行情况,评估SLA;
阅读全文 »

传统领域实体建模一般采用PowerDesign等UML软件实现,设计更新没有版本控制,不易维护和团队分享;
可采用JDL(Jhipster Domain Language)实现document as code,编写jdl文件并用git进行版本控制;
JDL建模IDE可采用online,visual studio code,atom等通用文本编辑器,可导出图片预览UML效果;
JDL编写好后,可用jhipster import-jdl工具生成entity层的java代码。

阅读全文 »

git commit -m “commit message” 每次提交的时候,总得写点什么,如果团队中小伙伴都按一定的范式来书写提交记录,问题追溯将变的有迹可循;

目前,社区有多种 Commit message 的规范。不过一般采用较多的是Google的AngularJS的规范,有现配套的工具来实现规范化提交。

阅读全文 »