我是 Apache Airflow 的新手。互联网上有很多基本 DAG 的示例。不幸的是,我没有找到任何单任务 DAG 的示例。
大多数 DAG 示例在 .py 脚本末尾包含位移运算符,它定义任务顺序。例如:
# ...our DAG's code...
task1 >> task2 >> task3
Run Code Online (Sandbox Code Playgroud)
但如果我的 DAG 目前只有一项任务怎么办?我的问题是 - 我是否需要在 Python 文件末尾使用这个单一任务的名称?或者,如果我们的范围内只有 1 个任务,Airflow 将自行处理它,并且下面的最后一行代码是多余的?
from datetime import timedelta
from airflow.operators.bash import BashOperator
from airflow.utils.dates import days_ago
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'email': ['airflow@example.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
}
with DAG(
'tutorial',
default_args=default_args,
description='A simple tutorial DAG',
schedule_interval=timedelta(days=1),
start_date=days_ago(2),
tags=['example'],
) as dag:
t1 = BashOperator(
task_id='print_date',
bash_command='date',
) …Run Code Online (Sandbox Code Playgroud) 我试图了解如何使用Java 8 Streams API。
例如,我有以下两个类:
public class User {
private String name;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
}
public class UserWithAge {
private String name;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
private int age;
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
}
Run Code Online (Sandbox Code Playgroud)
我有一个List<User>十个用户中的一个,我想将其转换List<UserWithAge>为十个具有相同名称且年龄不变的用户(例如27岁)中的一个。如何使用Java 8 Streams API(无循环,并且不修改上述类)来做到这一点?