Migrated repository
Go to file
lgcareer 38c965ddc9
new feature for #404 add resource tree function (#2323)
* add create resource directory

* add create resource directory

* update the resource test

* add upgrade sql in version 1.2.2

* Adding request parameter id to update queryResourceListPaging

* set isDirectory value is false default

* add full name to update updateResource

* remove request parameter isDirectory to update createResource method

* update queryResourceListPaging with change get to post

* update updateResource method with remove fullName

* File management list modification (#1976)

* add resource component

* add resource tree visitor

* return json string

* update queryResourceList

* upload file need fullName

* add method rootNode

* Shell task resources and authorization resources (#1989)

* File management list modification

* Shell task resources and authorization resources

* download resource when execute task

* download resource when execute task

* update authorization type

* download resource when execute task

* Spark task resource changes (#1990)

* File management list modification

* Shell task resources and authorization resources

* Spark task resource changes

* download resource when execute task

* update udf function service

* add resource type in ResourceComponent

* UDF resource tree and change DAG style (#2019)

* File management list modification

* Shell task resources and authorization resources

* Spark task resource changes

* UDF resource tree and change DAG style

* add deleteIds method in ResourceMapper and ResourceMapperTest

* Add comments on class and method

* add queryResourceByName method in controller

* update verify-name with change name to full name

* update queryResource with add parameter pid

* update queryResource with add parameter pid

* add resource ids in process definition and delete resource need judge whether it is used by any process definition

* Breadcrumb development (#2033)

* File management list modification

* Shell task resources and authorization resources

* Spark task resource changes

* UDF resource tree and change DAG style

* Breadcrumb development

* Breadcrumb development

* Resource tree bug fix (#2040)

* File management list modification

* Shell task resources and authorization resources

* Spark task resource changes

* UDF resource tree and change DAG style

* Breadcrumb development

* Breadcrumb development

* Resource tree bug fix

* update resource service test

* Fix github action rerun failed

* add status of PARENT_RESOURCE_NOT_EXIST

* Fix github action rerun failed (#2067)

* update resource service test

* Fix github action rerun failed

* add status of PARENT_RESOURCE_NOT_EXIST

* Change crumb position

* Change crumb position (#2068)

* build resource process definition map

* UDF changed to multiple choice

* UDF changed to multiple choice (#2077)

* Change crumb position

* UDF changed to multiple choice

* build resource process definition map (#2076)

* update resource service test

* Fix github action rerun failed

* add status of PARENT_RESOURCE_NOT_EXIST

* build resource process definition map

* update resource name also need update all the children full name

* need add queryResource

* update resource name also need update all the children full name (#2096)

* update resource service test

* Fix github action rerun failed

* add status of PARENT_RESOURCE_NOT_EXIST

* build resource process definition map

* update resource name also need update all the children full name

* need add queryResource

* Limit customization file content to no more than 3000 lines

* Limit customization file content to no more than 3000 lines(#2128)

* Limit customization file content to no more than 3000 lines(#2128) (#2140)

* Change crumb position

* UDF changed to multiple choice

* Limit customization file content to no more than 3000 lines

* Limit customization file content to no more than 3000 lines(#2128)

* add queryResourceJarList

* add queryResourceJarList

* add queryResourceJarList

* add queryResourceJarList (#2192)

* update resource service test

* Fix github action rerun failed

* add status of PARENT_RESOURCE_NOT_EXIST

* build resource process definition map

* update resource name also need update all the children full name

* need add queryResource

* add queryResourceJarList

* add queryResourceJarList

* add queryResourceJarList

* Modify the main jar package

* Modify the main jar package (#2200)

* Change crumb position

* UDF changed to multiple choice

* Limit customization file content to no more than 3000 lines

* Limit customization file content to no more than 3000 lines(#2128)

* Modify the main jar package

* add resource filter in order to get filtered resource

* add comments of resource filter

* update list children by resource

* choose main jar with resource tree (#2220)

* update resource service test

* Fix github action rerun failed

* add status of PARENT_RESOURCE_NOT_EXIST

* build resource process definition map

* update resource name also need update all the children full name

* need add queryResource

* add queryResourceJarList

* add queryResourceJarList

* add queryResourceJarList

* add resource filter in order to get filtered resource

* add comments of resource filter

* update list children by resource

* Return null if query resource list is empty

* update queryResource method change parameter pid to id

* getResouDelete checksum and modify parameter namerceId

* revert .env

* remove parameter pid

* Delete request interface

* go back to the last page

* jar interface call

* Fix issue #2234 and #2228

* change resource name with full name

* Fix issue #2234 and #2228 (#2246)

* update resource service test

* Fix github action rerun failed

* add status of PARENT_RESOURCE_NOT_EXIST

* build resource process definition map

* update resource name also need update all the children full name

* need add queryResource

* add queryResourceJarList

* add queryResourceJarList

* add queryResourceJarList

* add resource filter in order to get filtered resource

* add comments of resource filter

* update list children by resource

* Return null if query resource list is empty

* update queryResource method change parameter pid to id

* revert .env

* remove parameter pid

* Fix issue #2234 and #2228

* change resource name with full name

* Fix list query value error

* remove unauth-file with authorize-resource-tree

* Repair data cannot be echoed

* Repair data cannot be echoed

* execute mr and spark task need query resource name before

* Authorized resource interface replacement

* Authorized resource interface replacement

* Filter UDF resources

* Change parameters

* need query all authorized directory children when create task

* Change normalize.scss import method and animation.scss license modification

* Delete file list update processing

* It's fixed that resource not deleted in hdfs when delete it.

* add tooltips

* add tooltips (#2310)

* Echo workflow name and modify udf management name

* [new feature]add resource tree function

* revert front code in order to be same as dev branch

* revert front code in order to be same as dev branch

* revert common.properties and application.properties

* add super method

* update flink parameter test

* update flink parameter and unit test

* update resource service test

* If resource list is empty,need init it

* update flink parameter test

Co-authored-by: break60 <790061044@qq.com>
Co-authored-by: xingchun-chen <55787491+xingchun-chen@users.noreply.github.com>
Co-authored-by: qiaozhanwei <qiaozhanwei@outlook.com>
2020-03-28 15:43:07 +08:00
.github add ds logs and server status check with e2e test (#2277) 2020-03-23 14:40:08 +08:00
ambari_plugin license and checkoutv2 fix (#2261) 2020-03-21 20:23:13 +08:00
docker license and checkoutv2 fix (#2261) 2020-03-21 20:23:13 +08:00
dockerfile add ds logs and server status check with e2e test (#2277) 2020-03-23 14:40:08 +08:00
dolphinscheduler-alert Refactor ConnectionFactory to static inner holder Singleton (#2204) 2020-03-18 23:48:19 +08:00
dolphinscheduler-api new feature for #404 add resource tree function (#2323) 2020-03-28 15:43:07 +08:00
dolphinscheduler-common new feature for #404 add resource tree function (#2323) 2020-03-28 15:43:07 +08:00
dolphinscheduler-dao new feature for #404 add resource tree function (#2323) 2020-03-28 15:43:07 +08:00
dolphinscheduler-dist fix rpmbuild and DS Ambari plugin bug (#2144) 2020-03-13 13:04:33 +08:00
dolphinscheduler-remote license and checkoutv2 fix (#2261) 2020-03-21 20:23:13 +08:00
dolphinscheduler-server new feature for #404 add resource tree function (#2323) 2020-03-28 15:43:07 +08:00
dolphinscheduler-service new feature for #404 add resource tree function (#2323) 2020-03-28 15:43:07 +08:00
dolphinscheduler-ui new feature for #404 add resource tree function (#2323) 2020-03-28 15:43:07 +08:00
e2e e2e add project and workflow case (#2309) 2020-03-25 22:27:41 +08:00
script Refactor dockerfile (#1978) 2020-02-20 20:49:38 +08:00
sql new feature for #404 add resource tree function (#2323) 2020-03-28 15:43:07 +08:00
style [checkstyle] optimize java code checkstyle for LeftCurly rule (#1375) 2019-12-04 20:18:37 +08:00
.gitattributes Create .gitattributes 2019-03-29 23:51:32 +08:00
.gitignore fix https://github.com/apache/incubator-dolphinscheduler/issues/1420 (#1443) 2019-12-11 15:04:24 +08:00
CONTRIBUTING.md Optimizing code (#2240) 2020-03-19 19:26:03 +08:00
DISCLAIMER merge from 1.2.0-release (#1347) 2019-12-03 13:56:35 +08:00
install.sh Add mail server configuration description information (#2143) 2020-03-12 17:50:37 +08:00
LICENSE Initial commit 2019-03-02 00:39:25 +08:00
NOTICE update postgre sql (#1118) 2019-10-30 10:27:33 +08:00
pom.xml Refactor BaseDataSource and unified handling of JDBC resource releases. (#2184) 2020-03-26 23:23:19 +08:00
README_zh_CN.md Update README_zh_CN.md (#2011) 2020-02-25 14:01:31 +08:00
README.md edit README.md modify word from expand to extend (#2138) 2020-03-10 22:28:40 +08:00
ReleaseNotes.md merge from 1.2.0-release (#1347) 2019-12-03 13:56:35 +08:00

Dolphin Scheduler Official Website dolphinscheduler.apache.org

License Total Lines codecov Quality Gate Status

Dolphin Scheduler for Big Data

Stargazers over time

EN doc CN doc

Design features:

A distributed and easy-to-extend visual DAG workflow scheduling system. Dedicated to solving the complex dependencies in data processing, making the scheduling system out of the box for data processing. Its main objectives are as follows:

  • Associate the Tasks according to the dependencies of the tasks in a DAG graph, which can visualize the running state of task in real time.
  • Support for many task types: Shell, MR, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Sub_Process, Procedure, etc.
  • Support process scheduling, dependency scheduling, manual scheduling, manual pause/stop/recovery, support for failed retry/alarm, recovery from specified nodes, Kill task, etc.
  • Support process priority, task priority and task failover and task timeout alarm/failure
  • Support process global parameters and node custom parameter settings
  • Support online upload/download of resource files, management, etc. Support online file creation and editing
  • Support task log online viewing and scrolling, online download log, etc.
  • Implement cluster HA, decentralize Master cluster and Worker cluster through Zookeeper
  • Support online viewing of Master/Worker cpu load, memory
  • Support process running history tree/gantt chart display, support task status statistics, process status statistics
  • Support backfilling data
  • Support multi-tenant
  • Support internationalization
  • There are more waiting partners to explore

What's in Dolphin Scheduler

Stability Easy to use Features Scalability
Decentralized multi-master and multi-worker Visualization process defines key information such as task status, task type, retry times, task running machine, visual variables and so on at a glance.   Support pause, recover operation support custom task types
HA is supported by itself All process definition operations are visualized, dragging tasks to draw DAGs, configuring data sources and resources. At the same time, for third-party systems, the api mode operation is provided. Users on DolphinScheduler can achieve many-to-one or one-to-one mapping relationship through tenants and Hadoop users, which is very important for scheduling large data jobs. " The scheduler uses distributed scheduling, and the overall scheduling capability will increase linearly with the scale of the cluster. Master and Worker support dynamic online and offline.
Overload processing: Task queue mechanism, the number of schedulable tasks on a single machine can be flexibly configured, when too many tasks will be cached in the task queue, will not cause machine jam. One-click deployment Supports traditional shell tasks, and also support big data platform task scheduling: MR, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Procedure, Sub_Process

System partial screenshot

home page dag process definition list page view task log online resource management monitor security treeview

Document

More documentation please refer to [DolphinScheduler online documentation]

Recent R&D plan

Work plan of Dolphin Scheduler: R&D plan, Under the In Develop card is what is currently being developed, TODO card is to be done (including feature ideas)

How to contribute

Welcome to participate in contributing, please refer to the process of submitting the code: [How to contribute]

How to Build

mvn clean install -Prelease

Artifact:

dolphinscheduler-dist/dolphinscheduler-backend/target/apache-dolphinscheduler-incubating-${latest.release.version}-dolphinscheduler-backend-bin.tar.gz: Binary package of DolphinScheduler-Backend
dolphinscheduler-dist/dolphinscheduler-front/target/apache-dolphinscheduler-incubating-${latest.release.version}-dolphinscheduler-front-bin.tar.gz: Binary package of DolphinScheduler-UI
dolphinscheduler-dist/dolphinscheduler-src/target/apache-dolphinscheduler-incubating-${latest.release.version}-src.zip: Source code package of DolphinScheduler

Thanks

Dolphin Scheduler uses a lot of excellent open source projects, such as google guava, guice, grpc, netty, ali bonecp, quartz, and many open source projects of apache, etc. It is because of the shoulders of these open source projects that the birth of the Dolphin Scheduler is possible. We are very grateful for all the open source software used! We also hope that we will not only be the beneficiaries of open source, but also be open source contributors. We also hope that partners who have the same passion and conviction for open source will join in and contribute to open source!

Get Help

  1. Submit an issue
  2. Subscribe the mail list : https://dolphinscheduler.apache.org/en-us/docs/development/subscribe.html. then send mail to dev@dolphinscheduler.apache.org
  3. Contact WeChat(dailidong66). This is just for Mandarin(CN) discussion.

License

Please refer to LICENSE file.