{{ 描述 }}
项目描述
DGP 用户界面
该库和应用程序提供了气流的包装器,提供了一种通过 web-ui 基于定义管道“种类”和每种类型所需参数的配置来添加/删除 DAG(管道)的方法。
管道仪表板
编辑/新建管道
管道状态
快速开始
- 创建一个文件夹,其中包含:
- 包含有关您的管道类型的详细信息的
configuration.yaml文件,例如
{
"kinds": [
{
"name": "kind1",
"display": "Kind 1",
"fields": [
{
"name": "param1",
"display": "Parameter 1"
},
{
"name": "param2",
"display": "Parameter 2"
}
]
},
{
"name": "kind2",
"display": "Kind 2",
"fields": [
{
"name": "param3",
"display": "Parameter 3"
},
{
"name": "param4",
"display": "Parameter 4"
}
]
}
],
"schedules": [
{
"name": "monthly",
"display": "Monthly"
},
{
"name": "daily",
"display": "Daily"
}
]
}
(如果未指定计划,将使用默认计划列表)。
- Airflow DAGs Creator - 一个 Python 文件,用于读取管道配置并创建您的 Airflow DAG。示例代码:
import datetime
import logging
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.utils import dates
from etl_server.models import Models
etl_models = Models()
default_args = {
'owner': 'Airflow',
'depends_on_past': False,
'start_date': dates.days_ago(1),
}
for pipeline in etl_models.all_pipelines():
# pipeline looks like this:
# {
# "id": "<identifier>",
# "name": "<English Name of Pipeline>",
# "kind": "<kind-name>",
# "schedule": "<schedule>",
# "params": {
# "field1": "value1",
# .. other fields, based on kind's fields in configuration
# }
# }
dag_id = pipeline['id']
logging.info('Initializing DAG %s', dag_id)
dag = DAG(dag_id, default_args=default_args, schedule_interval=datetime.timedelta(days=1))
task = BashOperator(task_id=dag_id,
bash_command='echo "%s"; sleep 10 ; echo done' % pipeline['name'],
dag=dag)
globals()[dag_id] = dag
- 使用
docker-compose设置运行服务器,示例docker-compose.yaml文件:
version: "3"
services:
db:
image: postgres:12
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: etls
expose:
- 5432
volumes:
- /var/lib/postgresql/data
server:
build: .
image: akariv/airflow-config-ui
environment:
DATABASE_URL: postgresql://postgres:postgres@db/etls
AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql://postgres:postgres@db/etls
expose:
- 5000
ports:
- 5000:5000
depends_on:
- db
volumes:
- /path/to/local/dags/folder/:/app/dags
运行 ( docker-compose up -d server) 后,打开浏览器http://localhost:5000以查看 Web UI。
另一种选择是创建一个新的 Docker 映像,该映像继承自文件和 DAG Python 文件并替换akariv/airflow-config-ui其内容。/app/dags/configuration.json
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
etl-server-0.0.13.tar.gz
(24.3 kB
查看哈希)
内置分布
etl_server-0.0.13-py3-none-any.whl
(28.7 kB
查看哈希)
关
etl_server -0.0.13-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 6da904778e69c6932c77717434ebed7dc4241af9377b471252f05a7fffc294c8 |
|
| MD5 | 79463de10c02157806c3c3cf5909ec23 |
|
| 布莱克2-256 | 879dff6a0ef6a757b668038437955224ef3247ebe03da19dd39e069cbd854d52 |