
開源之夏 2023 學生報名已經正式開啟!Apache DolphinScheduler 今年繼續參與開源之夏的活動,2023 年 4 月 29 日-6 月 3 日 15:00 UTC+8,同學們可以在開源之夏官網 https://summer-ospp.ac.cn/ 找到 Apache DolphinScheduler 下的專案,挑選自己感興趣的課題,通過專案相對應導師聯系方式與導師溝通并準備申請資料,提交申請,
開源之夏 2023 介紹
開源之夏是由中科院軟體所“開源軟體供應鏈點亮計劃”發起并長期支持的一項暑期開源活動,旨在鼓勵在校學生積極參與開源軟體的開發維護,培養和發掘更多優秀的開發者,促進優秀開源軟體社區的蓬勃發展,助力開源軟體供應鏈建設,
開源之夏聯合國內外開源社區,針對重要開源軟體的開發與維護提供專案任務,面向全球高校學生開放報名,中選學生將在專案資深開發者(專案導師)的指導下,參與開源貢獻,完成開發作業并貢獻給開源社區,
零距離體驗頂級開源專案、跟著技術大牛提升研發能力、用成果贏取豐厚獎金和證書等,都是此次活動的亮點,非常值得一試,
獎金設定
● 進階難度:學生結項獎金稅前人民幣 12000 元,
● 基礎難度:學生結項獎金稅前人民幣 8000 元,
活動流程

當前,活動已經進行到學生注冊、遇到事溝通專案、提交專案申請的階段,滿足條件的學生均可報名參加,今年 11 月,活動將進入尾聲,公布年度優秀學生名單,
可參考學生指南查看報名詳細流程:https://summer-ospp.ac.cn/help/student/
Apache DolphinScheduler社區介紹

Apache DolphinScheduler基于Apache開源社區理念打造,是全球知名的DataOps領域開源專案,作為一個云原生分布式去中心化,易擴展的可視化DAG作業流任務調度平臺,它致力于解決資料處理流程中錯綜復雜的依賴關系,使調度系統在資料處理流程中開箱即用,獨特的架構設計和產品設計,使得其具備高可靠性、簡單易用、高擴展性、豐富的使用場景等特性,
- 高可靠性:去中心化的多Master和多Worker服務對等架構, 避免單Master壓力過大,并采用任務緩沖佇列來避免過載;
- 簡單易用:DAG監控界面讓所有流程定義可視化,通過拖拽任務完成定制DAG,通過API方式與第三方系統集成, 一鍵部署;
- 豐富的使用場景:支持多租戶,支持暫停恢復操作. 緊密貼合大資料生態,提供Spark, Hive, M/R, Python, Sub_process, Shell等近20種任務型別;
- 高擴展性:支持自定義任務型別,調度器使用分布式調度,調度能力隨集群線性增長,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: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”,我們將拉您進入交流群,

本文由 白鯨開源 提供發布支持!
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/552278.html
標籤:大數據
上一篇:資料剖析更靈活、更快捷,火山引擎 DataLeap 動態探查全面升級
下一篇:返回列表
