Apache DolphinScheduler 開源之夏學生項目申請開啟,6 大課題等你來拿萬元獎金!

来源:https://www.cnblogs.com/DolphinScheduler/archive/2023/05/11/17391475.html
-Advertisement-
Play Games

開源之夏 2023 學生報名已經正式開啟!Apache DolphinScheduler 今年繼續參與開源之夏的活動,2023 年 4 月 29 日-6 月 3 日 15:00 UTC+8,同學們可以在開源之夏官網 https://summer-ospp.ac.cn/ 找到 Apache Dolph ...


file

開源之夏 2023 學生報名已經正式開啟!Apache DolphinScheduler 今年繼續參與開源之夏的活動,2023 年 4 月 29 日-6 月 3 日 15:00 UTC+8,同學們可以在開源之夏官網 https://summer-ospp.ac.cn/ 找到 Apache DolphinScheduler 下的項目,挑選自己感興趣的課題,通過項目相對應導師聯繫方式與導師溝通並準備申請資料,提交申請。

開源之夏 2023 介紹

開源之夏是由中科院軟體所“開源軟體供應鏈點亮計劃”發起並長期支持的一項暑期開源活動,旨在鼓勵在校學生積极參与開源軟體的開發維護,培養和發掘更多優秀的開發者,促進優秀開源軟體社區的蓬勃發展,助力開源軟體供應鏈建設。

開源之夏聯合國內外開源社區,針對重要開源軟體的開發與維護提供項目任務,面向全球高校學生開放報名。中選學生將在項目資深開發者(項目導師)的指導下,參與開源貢獻,完成開發工作並貢獻給開源社區。

零距離體驗頂級開源項目、跟著技術大牛提升研發能力、用成果贏取豐厚獎金和證書等,都是此次活動的亮點,非常值得一試。

獎金設置

● 進階難度:學生結項獎金稅前人民幣 12000 元。

● 基礎難度:學生結項獎金稅前人民幣 8000 元。

活動流程

file

當前,活動已經進行到學生註冊、遇到事溝通項目、提交項目申請的階段,滿足條件的學生均可報名參加。今年 11 月,活動將進入尾聲,公佈年度優秀學生名單。

可參考學生指南查看報名詳細流程:https://summer-ospp.ac.cn/help/student/

Apache DolphinScheduler社區介紹

file

Apache DolphinScheduler基於Apache開源社區理念打造,是全球知名的DataOps領域開源項目。作為一個雲原生分散式去中心化,易擴展的可視化DAG工作流任務調度平臺,它致力於解決數據處理流程中錯綜複雜的依賴關係,使調度系統在數據處理流程中開箱即用。獨特的架構設計和產品設計,使得其具備高可靠性、簡單易用、高擴展性、豐富的使用場景等特性。

  1. 高可靠性:去中心化的多Master和多Worker服務對等架構, 避免單Master壓力過大,並採用任務緩衝隊列來避免過載;
  2. 簡單易用:DAG監控界面讓所有流程定義可視化,通過拖拽任務完成定製DAG,通過API方式與第三方系統集成, 一鍵部署;
  3. 豐富的使用場景:支持多租戶,支持暫停恢復操作. 緊密貼合大數據生態,提供Spark, Hive, M/R, Python, Sub_process, Shell等近20種任務類型;
  4. 高擴展性:支持自定義任務類型,調度器使用分散式調度,調度能力隨集群線性增長,Master和Worker支持動態上下線。

截至目前,Apache DolphinScheduler社區在開源力量的推動下發展迅速,已有460+ Contributors 積极參与到社區的共建中,GitHub Star 已達10.4k,以開源社區的模式集合全球頂尖高科技公司的共同貢獻,打造全球極致簡單易用、穩定可擴展的DataOps平臺。

Apache DolphinScheduler已累計在1000多家公司生產環境中作為企業的核心調度系統,包括IBM、騰訊、科大訊飛、美團、360、聯通、順豐等,覆蓋金融、電信、零售、雲計算、數據處理等廣泛領域。

項目官網:https://dolphinscheduler.apache.org/

GitHub:https://github.com/apache/dolphinscheduler

加入Slack:https://join.slack.com/t/asf-dolphinscheduler/shared_invite/zt-1cmrxsio1-nJHxRJa44jfkrNL_Nsy9Qg

DolphinScheduler項目課題介紹

本次活動,Apache DolphinScheduler 開源社區共有 6 個項目課題經過組委會評審,同學們可在鏈接頁面中挑選自己感興趣的項目:

https://summer-ospp.ac.cn/org/orgdetail/22999f09-2be2-4dd8-b10f-bc4d6610cc25?lang=zh

01 重構依賴任務模式

項目鏈接:https://summer-ospp.ac.cn/org/prodetail/232290219?list=org&navpage=org
項目難度:進階
支持語言:中文&英文
項目社區導師:進勇
導師聯繫郵箱:[email protected]
技術領域:Java
開源協議:Apache License 2.0
項目簡述:
當前狀況:當前的依賴是依賴單個任務和All,這裡的All其實是依賴工作流,並不是依賴所有的任務。

計劃改造:

1、依賴單個任務的方式不變,All改造成依賴工作流中所有任務,新增一種類型依賴工作流。
2、前端在依賴的地方增加個單選框,選擇依賴任務或者工作流,如果選擇依賴任務,任務的選擇框顯示出來,如果現在依賴工作流,任務的選擇框隱藏
3、對於後端,All對於的任務code還是0,依賴工作流時,對應的任務code可使用-1或其他表示。

項目產出要求:

實現dependent任務既能依賴全部的任務,又能依賴工作流。

項目技術要求:

● 熟悉 java語言
● 對任務調度系統有瞭解

項目成果倉庫:
https://github.com/apache/dolphinscheduler

02 Dolphinscheduler master/worker

恢復容錯優化

項目鏈接:
https://summer-ospp.ac.cn/org/prodetail/23b660198?list=org&navpage=org
項目難度:進階
支持語言:中文&英文
項目社區導師:向梓豪
導師聯繫郵箱:[email protected]
技術領域:Bash、Linux、Java
開源協議:Apache License 2.0
項目簡述:

當前主/工作節點掛起時。它將執行容錯操作,併在主/工作節點重新啟動後重新啟動失敗的任務。這將導致用戶在Linux進程或yarn應用程式中執行的Shell/Spark/Flink任務重覆運行。

因此,我建議在主/工作程式重新啟動後,如果這些任務處於正常執行狀態,則不會重新執行。

Shell節點,因為當前DS任務節點的進程的執行路徑是唯一的。因此,我們可以通過 ps-ef | grep XXX 查詢該進程是否存在。如果是,則不會重新啟動任務。

Yarn 相關的任務節點通過 yarn application-status application_id 檢查任務是否正在運行。如果是,則不會重新啟動任務。

項目產出要求:

在容錯恢復過程中,Shell節點能夠正常獲取其先前的運行狀態。
在容錯恢復過程中,Yarn 相關的任務能夠正常獲取其先前的運行狀態。

項目技術要求:

熟悉 Linux 進程管理
理解 Hadoop Yarn 組件並且能根據官方文檔快速學習使用相應API
熟悉 Java 語言

項目成果倉庫:
https://github.com/apache/dolphinscheduler

03 pydolphinscheduler任務增加

minix機制

項目鏈接:
https://summer-ospp.ac.cn/org/prodetail/232290221?list=org&navpage=org
項目難度:基礎
支持語言:中文
項目社區導師:zhongjiajie
導師聯繫郵箱:[email protected]
技術領域:Python
開源協議:Apache License 2.0
項目簡述:
pydolphinscheduler 是 apache dolphinscheduler 的 python sdk,允許用戶通過 python 語法定義工作流和任務。目前,pydolphinscheduler 任務的代碼都是進行單獨定義的,如 shell 任務

class Shell(Task):
    _task_custom_attr = {
         "raw_script",
    }

    ext: set = {".sh", ".zsh"}
    ext_attr: str = "_raw_script"

 def __init__(self, name: str, command: str, *args, **kwargs):
     self._raw_script = command
     super().__init__(name, TaskType.SHELL, *args, **kwargs)

我們發現有部分任務需要有特定的屬性,如 Kubernetes 任務 https://github.com/apache/dolphinscheduler-sdk-python/issues/25 。我們希望引用 minix 類來解決這部分問題,關於minix 可以參考 https://www.pythontutorial.net/python-oop/python-mixin/

項目產出要求:
通過 minix 解決這個類似的問題
保證單元測試及覆蓋率
項目技術要求:
瞭解 python 基礎,對 OOP 有一定認識
瞭解 pytest 相關
項目成果倉庫:
https://github.com/apache/dolphinscheduler

04 數據源中心擴展成源中心

項目鏈接:
https://summer-ospp.ac.cn/org/prodetail/232290223?list=org&navpage=org
項目難度:進階
支持語言:中文&英文
項目社區導師:高楚楓
導師聯繫郵箱:[email protected]
技術領域:Vue.js、Spring、BootDatabase、Java
開源協議:Apache License 2.0
項目簡述:
DolphinScheduler 有一個 Datasource Center 的組件,用於管理 sql 任務的外部連接,如 mysql、hive、spark 等。

但是不只是sql任務,其他一些 DolphinScheduler 任務插件也需要外部連接,比如AWS EMR任務、Zeppelin任務、K8S任務等。我們可以豐富需要 Datasource Center 來管理連接的場景,尤其是 那些具有憑據的外部系統並將其升級到連接中心。

相關問題:[Feature] Add connection center feature for DS #10283(https://github.com/apache/dolphinscheduler/issues/10283)

目標:
將 Datasource Center 的名稱更改為 Connection Center。
重構部分AWS EMR、Zeppelin、K8S、Sagemaker任務插件,方便用戶在連接中心管理外部連接。
去掉安全中心的Cluster Management和K8S Namespace Manage,因為管理K8S集群不是大數據編排工具的工作。用戶可以在連接中心為 K8S 任務插件配置 K8S 連接。

項目產出要求:
一個或多個提交到github倉庫
項目技術要求:
[後端] 熟悉Java編程。
[後端] 對 Spring Boot Framework 有一定的瞭解。
[前端] 對VUE有所瞭解
項目成果倉庫:
https://github.com/apache/dolphinscheduler

05 增加跨工作流的參數傳遞功能

項目鏈接:
https://summer-ospp.ac.cn/org/prodetail/232290357?list=org&navpage=org
項目難度:進階
支持語言:中文
項目社區導師:鮑亮
導師聯繫郵箱:[email protected]
技術領域:Vue.js、Spring Boot、Java
開源協議:Apache License 2.0
項目簡述:

  1. 工作流可以選擇自己的輸出參數,作為工作流的輸出參數,輸出給下游任務使用。

場景1:shellA -> subprocessB -> shellC

shellA 查出所有學生信息 (a,b,c) 並將 users 輸出給下游任務subprocessB
subprocessB 是一個子工作流, 負責計算所有學生個數 userCount,並將userCount 作為工作流的輸出傳遞給下游
shellC 負責將 userCount 輸出到控制台
2. 依賴任務也可以選擇將被依賴任務的輸出參數繼承過來使用。增加依賴參數繼承功能
需要在依賴任務上增加一個欄位:是否繼承被依賴任務的參數

場景2:

工作流A :taska1 -> taska2, taska2 輸出了參數 count=10
工作流B : taskb1 -> dependentb2 -> taskb3
dependentb2 依賴了taska2 就可以將count繼承過來作為dependentb2的輸出參數,給taskb3使用

備註:前端知識不用太多,只是簡單的效果

項目產出要求:

實現以上兩個場景的需求,並將代碼提交到開發分支上
詳細的設計文檔以及使用文檔
詳盡的UT測試類
項目技術要求:

熟悉 Java 語言
熟悉 spring boot
可以實現簡單的前端效果
項目成果倉庫:
https://github.com/apache/dolphinscheduler

06 DolphinScheduler Listener機制

項目鏈接:
https://summer-ospp.ac.cn/org/prodetail/232290593?list=org&navpage=org
項目難度:進階
支持語言:中文
項目社區導師:孫朝和
導師聯繫郵箱:[email protected]
技術領域:SpringBoot、Java
開源協議:Apache License 2.0
項目簡述:
當工作流/任務執行時,第三方系統希望可以通過接收消息的方式(而非輪詢)來實時獲取工作流/任務的狀態和相關信息,可以通過添加自定義Listener的方式來實現獲取需要的信息推送到特定的目的地(消息隊列、外部系統介面等)的目標。
項目產出要求:
完成Listener機制設計和開發、並將代碼提交到開發分支上
詳細的設計文檔和使用文檔
詳盡的UT測試類
項目技術要求:
熟悉Java語言
熟悉SpringBoot
項目成果倉庫:
https://github.com/apache/dolphinscheduler

歡迎同學們報名 Apache DolphinScheduler 的項目,為社區建設添磚加瓦的同時,獲得豐富的開源經歷和豐厚的獎金回報!

為加快項目報名申請速度,建議同學們可以主動嚮導師發送郵件進行溝通,附上自己的方案和簡歷,讓我們更加瞭解你,並認真瞭解社區項目文檔,與導師充分溝通。

我們還有專門的開源之夏活動交流群,給大家解答關於項目和參與活動的疑惑,添加小助手 17743592110 微信,並備註“開源之夏 2023”,我們將拉您進入交流群。

file

本文由 白鯨開源 提供發佈支持!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 目錄 一、進程原理 二、進程工作過程 三、進程類型 四、管理進程 五、前後臺調度 六、定時任務 七、管理定時任務 一、進程原理 進程:指正在運行的程式稱之為進程 程式:指的是沒有運行的代碼 線程:真正的執行者,是複製了一部分進程的代碼,可以完成部分任務的,真正的執行者 二、進程工作過程 進程工作過程 ...
  • 環境: 系統版本:Windows 10 需求描述: 描述:在搜索引擎中想在結果中過濾一些指定網站,快速找到有價值的內容。 實現方法-視頻與文字教程: 視頻教程: 文字教程: 1.進入百度搜索引擎,bing搜索引擎貌似不可以。 www.baidu.com 2.搜索內容如:銳捷無線AC基礎命令 -csd ...
  • 前言 平時大家創建項目基本上都是藉助開發工具創建,比如visual studio,visual studio code,今天我們在Linux系統上,通過命令行的形式創建.NET6項目。 版本介紹 系統版本:Ubuntu22.04 SDK版本:.NET6 安裝.NET環境 # 升級系統 sudo ap ...
  • 一、安裝 Mailx Ubuntu sudo apt-get install bsd-mailx CentOS7 yum -y install mailx 二、獲取郵箱授權碼 (解決報錯問題 535 Error: authentication failed, system busy) 以騰訊企業郵箱 ...
  • 本篇記錄在macOS系統下使用VS Code配置 GCC、GDB來搭建C/C++開發環境,首先要提前安裝好gcc和gdb,見前一篇博文 macOS下安裝gcc、gdb(親測可行) 安裝好gcc、gdb之後,接下來為VS Code配置文件使其可以調用gcc、gdb,macOS下的配置過程與Linux下 ...
  • 1 索引介紹 索引是一種幫助查詢語句能夠快速定位到數據的一種技術。索引的存儲方式有行存儲索引、列存儲索引和記憶體優化三種存儲方式: 行存儲索引,使用B+樹結構,行存儲指的是數據存儲格式為堆、聚集索引和記憶體優化表的表,用於OLTP場景。行存儲索引按順序排列的值列表,每個值都有指向其所在的數據頁面的指針。 ...
  • (資料庫定時備份winserver2012篇) 1 序言 數據是無價的,所以生產環境中定時備份資料庫顯得尤為重要。備份能防止伺服器故障、天災人禍和人為誤操作帶來的數據丟失。 上一篇文章我們說了Linux環境下的數據備份。這一篇就把之前留下的坑給填上了。 這一篇我們說一說winserver2012環境 ...
  • 隨著世界經濟由工業經濟向數字經濟轉型,數據逐步成為關鍵的生產要素,企業開始將數據作為一種戰略資產進行管理。數據從業務中產生,在IT系統中承載,要對數據進行有效治理,需要業務充分參與,IT系統確保遵從,這是一個非常複雜的系統工程。 數據治理架構 實踐證明,企業只有構築一套企業級的數據治理綜合體系,明確 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...