在回填时遇到问题。当我在命令行中运行这个
GroupJoin
dag 被触发并开始运行。第一个任务(一个没有外部依赖的简单 python 脚本)完成,但在第二个任务中,我收到关于 fernet 密钥的错误。 dag 只是调用 MsSqlOperator。
LEFT OUTTER JOIN
var data = GenerateFileDTOSampleData().ToList();
var r = data.Skip(1).Aggregate(data.FirstOrDefault(), ReduceGroupJoinedFileDTOs);
List<FileDTO> ReduceGroupJoinedFileDTOs(List<FileDTO> last, IEnumerable<FileDTO> next)
{
return last.GroupJoin(next,
(outter) => outter.ID,
(inner) => inner.ID,
(outter, joined) => new FileDTO
{
ID = outter.ID,
Name = joined.FirstOrDefault(HasName)?.Name,
Sports = joined.FirstOrDefault(HasSports)?.Sports ?? default,
Country = joined.FirstOrDefault(HasCountry)?.Country ?? default
}).ToList();
}
airflow backfill my_dag -s 2021-01-01 -e 2021-01-12
标志(不确定这是做什么的),但它也不起作用。有什么解决问题的想法吗?
使用 LocalExecutor 在本地运行 Airflow 1.10.14。编辑:使用 .15 时也存在问题。
Backfill Doc for Airflow 1.10.14
日志:
注意,它说明了一些关于变量缺失的内容,但这是误导,因为如果我从 UI 手动运行它,它会起作用。关键是
cryptography.fernet.InvalidToken
完整日志:
airflow dags trigger -e '2021-01-19T04:00:00' my_dag
答案 0 :(得分:0)
您是否尝试过生成新的 FERNET_KEY
并将其设置为 env 变量(这样您将覆盖 airflow.cfg
文件中的值):
export AIRFLOW__CORE__FERNET_KEY=your_fernet_key
生成新的代码是:
from cryptography.fernet import Fernet
fernet_key= Fernet.generate_key()
print(fernet_key.decode())
别忘了安装前包https://pypi.org/project/cryptography/ (pip install cryptography
)