From 47136c28807771a23dad157b33967cc79e435d2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=81=BF=E5=89=91?= Date: Wed, 3 Apr 2024 11:35:34 +0800 Subject: [PATCH] dataworks provider --- .vscode/settings.json | 3 + providers/README.md | 2 + .../airflow_provider_dataworks/README.md | 3 + .../apache_airflow_provider.json | 27 ++ .../event/__init__.py | 0 .../operator/__init__.py | 0 .../operator/dataworks_node_operator.py | 9 + .../operator/dataworks_trigger_node.py | 7 + .../plugins/__init__.py | 0 .../plugins/extra_link.py | 5 + .../requirement.txt | 0 .../sensor/__init__.py | 0 providers/airflow_provider_dataworks/setup.py | 0 .../README.md | 1 + .../pom.xml | 438 ++++++++++++++++++ 15 files changed, 495 insertions(+) create mode 100644 .vscode/settings.json create mode 100644 providers/README.md create mode 100644 providers/airflow_provider_dataworks/README.md create mode 100644 providers/airflow_provider_dataworks/apache_airflow_provider.json create mode 100644 providers/airflow_provider_dataworks/event/__init__.py create mode 100644 providers/airflow_provider_dataworks/operator/__init__.py create mode 100644 providers/airflow_provider_dataworks/operator/dataworks_node_operator.py create mode 100644 providers/airflow_provider_dataworks/operator/dataworks_trigger_node.py create mode 100644 providers/airflow_provider_dataworks/plugins/__init__.py create mode 100644 providers/airflow_provider_dataworks/plugins/extra_link.py create mode 100644 providers/airflow_provider_dataworks/requirement.txt create mode 100644 providers/airflow_provider_dataworks/sensor/__init__.py create mode 100644 providers/airflow_provider_dataworks/setup.py create mode 100644 providers/dolphinscheduler-dataworks-provider/README.md create mode 100644 providers/dolphinscheduler-dataworks-provider/pom.xml diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7b016a8 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.compile.nullAnalysis.mode": "automatic" +} \ No newline at end of file diff --git a/providers/README.md b/providers/README.md new file mode 100644 index 0000000..69ce2b2 --- /dev/null +++ b/providers/README.md @@ -0,0 +1,2 @@ +# Introduction to providers +Providers are a way to share code across multiple applications. \ No newline at end of file diff --git a/providers/airflow_provider_dataworks/README.md b/providers/airflow_provider_dataworks/README.md new file mode 100644 index 0000000..8c5888d --- /dev/null +++ b/providers/airflow_provider_dataworks/README.md @@ -0,0 +1,3 @@ +# Introduction +airflow-dataworks-provider is an airflow provider for DataWorks, which provides the interaction functionality between Airflow and DataWorks. + diff --git a/providers/airflow_provider_dataworks/apache_airflow_provider.json b/providers/airflow_provider_dataworks/apache_airflow_provider.json new file mode 100644 index 0000000..18336ce --- /dev/null +++ b/providers/airflow_provider_dataworks/apache_airflow_provider.json @@ -0,0 +1,27 @@ +{ + "package-name": "apcahe-airflow-provider-dataworks", + "version": "1.0.0", + "description": "Apache Airflow Provider for Alibaba Cloud DataWorks", + "url": "https://github.com/apache/airflow", + "license": "Apache License 2.0", + "author": "Alibaba Cloud, Inc.", + "extra-link": [ + { + "name": "apache-airflow", + "url": "https://airflow.apache.org/" + } + ], + "task-decorators": [ + { + "name": "dataworks_node", + "class": "airflow.providers.dataworks.decorators.DataWorksNode" + } + ], + "connection-types": [], + "secret-backends": [], + "auth-backends": [], + "nodifications": [], + "executors": [], + "logging": [], + "config": [] +} \ No newline at end of file diff --git a/providers/airflow_provider_dataworks/event/__init__.py b/providers/airflow_provider_dataworks/event/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/providers/airflow_provider_dataworks/operator/__init__.py b/providers/airflow_provider_dataworks/operator/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/providers/airflow_provider_dataworks/operator/dataworks_node_operator.py b/providers/airflow_provider_dataworks/operator/dataworks_node_operator.py new file mode 100644 index 0000000..7694ce2 --- /dev/null +++ b/providers/airflow_provider_dataworks/operator/dataworks_node_operator.py @@ -0,0 +1,9 @@ +from airflow.models import BaseOperator + +class DataWorksNodeOperator(BaseOperator): + region_id = None + + + def __init__(self): + super.__init__(BaseOperator) + pass \ No newline at end of file diff --git a/providers/airflow_provider_dataworks/operator/dataworks_trigger_node.py b/providers/airflow_provider_dataworks/operator/dataworks_trigger_node.py new file mode 100644 index 0000000..e4ee4d5 --- /dev/null +++ b/providers/airflow_provider_dataworks/operator/dataworks_trigger_node.py @@ -0,0 +1,7 @@ +from airflow.models import BaseOperator + +class DataWorksTriggerNode(BaseOperator): + def __init__(self): + pass + + \ No newline at end of file diff --git a/providers/airflow_provider_dataworks/plugins/__init__.py b/providers/airflow_provider_dataworks/plugins/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/providers/airflow_provider_dataworks/plugins/extra_link.py b/providers/airflow_provider_dataworks/plugins/extra_link.py new file mode 100644 index 0000000..ea5af7c --- /dev/null +++ b/providers/airflow_provider_dataworks/plugins/extra_link.py @@ -0,0 +1,5 @@ +from airflow.models.baseoperatorlink import BaseOperatorLink + +class DataWorksLink(BaseOperatorLink): + name = 'DataWorks' + operators = [DataWorksOperator] diff --git a/providers/airflow_provider_dataworks/requirement.txt b/providers/airflow_provider_dataworks/requirement.txt new file mode 100644 index 0000000..e69de29 diff --git a/providers/airflow_provider_dataworks/sensor/__init__.py b/providers/airflow_provider_dataworks/sensor/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/providers/airflow_provider_dataworks/setup.py b/providers/airflow_provider_dataworks/setup.py new file mode 100644 index 0000000..e69de29 diff --git a/providers/dolphinscheduler-dataworks-provider/README.md b/providers/dolphinscheduler-dataworks-provider/README.md new file mode 100644 index 0000000..d79385c --- /dev/null +++ b/providers/dolphinscheduler-dataworks-provider/README.md @@ -0,0 +1 @@ +Implementation of the DataWorks Task Provider for DolphinScheduler SPI interface. \ No newline at end of file diff --git a/providers/dolphinscheduler-dataworks-provider/pom.xml b/providers/dolphinscheduler-dataworks-provider/pom.xml new file mode 100644 index 0000000..cf81504 --- /dev/null +++ b/providers/dolphinscheduler-dataworks-provider/pom.xml @@ -0,0 +1,438 @@ + + + + + + com.aliyun.dataworks + dataworks-tool + 1.1.2 + + + 4.0.0 + dolphinscheduler-dataworks-provider + 0.0.1 + pom + dolphinscheduler-dataworks-provider + + 1.16.16 + 2.13.4.2 + 2.13.1 + 2.13.1 + 2.13.1 + 2.8.9 + UTF-8 + 1.8 + 1.2.13 + 2.1.0 + 1.4.01 + 1.6.1 + 1.8 + 2.4.3 + 5.1.0 + 1.2.9_preview_04 + 3.71.0-3 + 2.0.9 + + + + + com.aliyun.dataworks + dw-common-spec + 1.1.2 + + + org.slf4j + slf4j-reload4j + + + + + org.apache.tomcat.embed + tomcat-embed-core + 9.0.83 + + + com.aliyun + aliyun-java-sdk-dataworks-public + 3.3.10 + + + com.linkedin.azkaban + az-core + ${azkaban.version}-1 + + + com.linkedin.azkaban + azkaban-common + ${azkaban.version} + + + com.linkedin.azkaban + azkaban-spi + ${azkaban.version} + + + org.reflections + reflections + 0.9.11 + + + + com.aliyun.oss + aliyun-sdk-oss + 3.11.0 + + + + json-smart + net.minidev + 2.4.9 + + + org.apache.commons + commons-lang3 + 3.12.0 + + + commons-lang + commons-lang + 2.6 + + + org.apache.commons + commons-compress + 1.26.0 + + + com.google.guava + guava + 32.0.0-jre + + + com.netflix.archaius + archaius-core + 0.6.0 + + + org.apache.poi + poi + 4.1.1 + + + org.apache.poi + poi-ooxml + 4.0.1 + + + org.apache.commons + commons-collections4 + 4.3 + + + + org.springframework + spring-web + 6.0.17 + + + org.springframework.shell + spring-shell-starter + 2.0.1.RELEASE + + + org.springframework.boot + spring-boot-starter-parent + pom + import + 2.7.6 + + + org.springframework.boot + spring-boot-starter-thymeleaf + 2.7.3 + + + + org.hibernate.validator + hibernate-validator + 6.2.2.Final + + + javax.validation + validation-api + 2.0.1.Final + + + org.apache.httpcomponents + httpclient + 4.5.13 + + + commons-io + commons-io + 2.7 + + + commons-cli + commons-cli + 1.4 + + + com.aliyun + aliyun-java-sdk-emr + 4.0.212-SNAPSHOT + + + com.aliyun + aliyun-java-sdk-core + 4.5.6 + + + org.slf4j + slf4j-api + 1.7.36 + + + ch.qos.logback + logback-classic + ${logback.version} + + + com.google.code.gson + gson + ${gson.version} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + ${jackson.dataformat.xml.version} + + + com.fasterxml.jackson.core + jackson-core + ${jackson.core.version} + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson.annotations.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.databind.version} + + + dom4j + dom4j + ${dom4j.version} + + + xml-apis + xml-apis + ${xml.apis.version} + + + org.apache.oozie + oozie-core + ${oozie.version} + + + hive-hcatalog-server-extensions + org.apache.hive.hcatalog + + + hive-webhcat-java-client + org.apache.hive.hcatalog + + + hive-jdbc + org.apache.hive + + + jetty-server + org.eclipse.jetty + + + commons-logging + org.apache.commons + + + protobuf-java + com.google.protobuf + + + hive-exec + org.apache.hive + + + + + org.apache.oozie + oozie-client + ${oozie.version} + + + org.projectlombok + lombok + ${lombok.version} + + + + + org.powermock + powermock-module-junit4-rule-agent + ${powermock.version} + test + + + org.powermock + powermock-module-junit4 + ${powermock.version} + test + + + org.powermock + powermock-api-mockito2 + ${powermock.version} + test + + + org.mockito + mockito-inline + 3.9.0 + test + + + org.mockito + mockito-core + 3.9.0 + test + + + junit + junit + 4.13.2 + test + + + + + + junit + junit + test + 4.13.2 + + + + + + + + maven-antrun-plugin + 1.7 + + + maven-compiler-plugin + 3.8.0 + + 1.8 + 1.8 + + + + maven-clean-plugin + 3.1.0 + + + maven-resources-plugin + 3.0.2 + + + maven-surefire-plugin + 2.22.1 + + + maven-jar-plugin + 3.0.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + maven-site-plugin + 3.7.1 + + + maven-project-info-reports-plugin + 3.0.0 + + + + + + maven-deploy-plugin + 2.8.2 + + + maven-enforcer-plugin + 3.0.0-M1 + + + enforce-versions + + enforce + + + + + 3.0.0 + + + 1.8 + + + + + + + + maven-resources-plugin + 3.0.2 + + + + jar + zip + bz2 + gz + doc + docx + xls + xlsx + + + + + + \ No newline at end of file