Python “阿帕奇气流”;天真的日期时间是不允许的;在web UI中

Python “阿帕奇气流”;天真的日期时间是不允许的;在web UI中,python,datetime,flask,airflow,Python,Datetime,Flask,Airflow,在Airflow的web UI中的/admin/taskinstance/下,我正在尝试按执行日期进行筛选,这需要一个datetime参数。它甚至建议自动填写日历和时间。 我在单击带有日期时间筛选器的提交时遇到此错误 Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1116, in _execute_context c

在Airflow的web UI中的
/admin/taskinstance/
下,我正在尝试按执行日期进行筛选,这需要一个datetime参数。它甚至建议自动填写日历和时间。

我在单击带有日期时间筛选器的提交时遇到此错误

Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1116, in _execute_context
    context = constructor(dialect, self, conn, *args)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 649, in _init_compiled
    for key in compiled_params
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 649, in <genexpr>
    for key in compiled_params
  File "/usr/lib/python3.6/site-packages/sqlalchemy/sql/type_api.py", line 1078, in process
    return process_param(value, dialect)
  File "/usr/lib/python3.6/site-packages/airflow/utils/sqlalchemy.py", line 156, in process_bind_param
    raise ValueError('naive datetime is disallowed')
ValueError: naive datetime is disallowed
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python3.6/site packages/sqlalchemy/engine/base.py”,第1116行,在执行上下文中
上下文=构造函数(方言、self、conn、*args)
文件“/usr/lib/python3.6/site packages/sqlalchemy/engine/default.py”,第649行,在_init_编译
对于已编译参数中的键
文件“/usr/lib/python3.6/site packages/sqlalchemy/engine/default.py”,第649行,在
对于已编译参数中的键
文件“/usr/lib/python3.6/site packages/sqlalchemy/sql/type_api.py”,第1078行,正在处理中
返回进程参数(值,方言)
文件“/usr/lib/python3.6/site packages/afflow/utils/sqlalchemy.py”,第156行,进程中绑定参数
raise VALUETERROR('不允许使用原始日期时间')
ValueError:不允许使用原始日期时间
上述异常是以下异常的直接原因:

Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/usr/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/lib/python3.6/site-packages/flask_admin/base.py", line 69, in inner
    return self._run_view(f, *args, **kwargs)
  File "/usr/lib/python3.6/site-packages/flask_admin/base.py", line 368, in _run_view
    return fn(self, *args, **kwargs)
  File "/usr/lib/python3.6/site-packages/flask_admin/model/base.py", line 1818, in index_view
    view_args.search, view_args.filters)
  File "/usr/lib/python3.6/site-packages/flask_admin/contrib/sqla/view.py", line 969, in get_list
    count = count_query.scalar() if count_query else None
  File "/usr/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2843, in scalar
    ret = self.one()
  File "/usr/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2814, in one
    ret = self.one_or_none()
  File "/usr/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2784, in one_or_none
    ret = list(self)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2855, in __iter__
    return self._execute_and_instances(context)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2878, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 945, in execute
    return meth(self, multiparams, params)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 263, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1053, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1121, in _execute_context
    None, None)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1402, in _handle_dbapi_exception
    exc_info
  File "/usr/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 186, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1116, in _execute_context
    context = constructor(dialect, self, conn, *args)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 649, in _init_compiled
    for key in compiled_params
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 649, in <genexpr>
    for key in compiled_params
  File "/usr/lib/python3.6/site-packages/sqlalchemy/sql/type_api.py", line 1078, in process
    return process_param(value, dialect)
  File "/usr/lib/python3.6/site-packages/airflow/utils/sqlalchemy.py", line 156, in process_bind_param
    raise ValueError('naive datetime is disallowed')
sqlalchemy.exc.StatementError: (builtins.ValueError) naive datetime is disallowed [SQL: 'SELECT count(%(count_2)s) AS count_1 \nFROM task_instance \nWHERE task_instance.execution_date = %(execution_date_1)s'] [parameters: [{}]]
回溯(最近一次呼叫最后一次):
wsgi_应用程序中的文件“/usr/lib/python3.6/site packages/flask/app.py”,第1982行
response=self.full\u dispatch\u request()
文件“/usr/lib/python3.6/site packages/flask/app.py”,第1614行,完整发送请求
rv=自身处理用户异常(e)
文件“/usr/lib/python3.6/site packages/flask/app.py”,第1517行,在handle\u user\u异常中
重放(exc_类型、exc_值、tb)
文件“/usr/lib/python3.6/site packages/flask/_compat.py”,第33行,重新登录
增值
文件“/usr/lib/python3.6/site packages/flask/app.py”,第1612行,完整发送请求
rv=自我分派请求()
文件“/usr/lib/python3.6/site packages/flask/app.py”,第1598行,在调度请求中
返回self.view_函数[rule.endpoint](**req.view_参数)
文件“/usr/lib/python3.6/site packages/flask_admin/base.py”,第69行,内部
返回自我。运行视图(f,*args,**kwargs)
文件“/usr/lib/python3.6/site packages/flask\u admin/base.py”,第368行,在运行视图中
返回fn(自身、*args、**kwargs)
文件“/usr/lib/python3.6/site packages/flask\u admin/model/base.py”,第1818行,在索引视图中
查看参数(搜索、查看参数过滤器)
文件“/usr/lib/python3.6/site packages/flask_admin/contrib/sqla/view.py”,第969行,在get_列表中
count=count\u query.scalar()如果count\u query没有
文件“/usr/lib/python3.6/site packages/sqlalchemy/orm/query.py”,第2843行,标量格式
ret=self.one()
文件“/usr/lib/python3.6/site packages/sqlalchemy/orm/query.py”,第2814行,一个
ret=self.one\u或\u none()
文件“/usr/lib/python3.6/site packages/sqlalchemy/orm/query.py”,第2784行,一个或多个文件
ret=列表(自身)
文件“/usr/lib/python3.6/site packages/sqlalchemy/orm/query.py”,第2855行,在__
返回self.\u执行\u和\u实例(上下文)
文件“/usr/lib/python3.6/site packages/sqlalchemy/orm/query.py”,第2878行,在执行和实例中
结果=conn.execute(querycontext.statement,self.\u参数)
文件“/usr/lib/python3.6/site packages/sqlalchemy/engine/base.py”,执行中的第945行
返回方法(自身、多线程、参数)
文件“/usr/lib/python3.6/site packages/sqlalchemy/sql/elements.py”,第263行,在连接上执行
返回连接。_execute_clauseelement(self、multiparams、params)
文件“/usr/lib/python3.6/site packages/sqlalchemy/engine/base.py”,第1053行,在执行子句元素中
编译的sql,提取的参数
文件“/usr/lib/python3.6/site packages/sqlalchemy/engine/base.py”,第1121行,在执行上下文中
没有,没有)
文件“/usr/lib/python3.6/site packages/sqlalchemy/engine/base.py”,第1402行,在_handle_dbapi_exception中
exc_信息
文件“/usr/lib/python3.6/site packages/sqlalchemy/util/compat.py”,第203行,从原因开始
重新释放(类型(异常),异常,tb=exc\U tb,原因=原因)
文件“/usr/lib/python3.6/site packages/sqlalchemy/util/compat.py”,第186行,在reraise中
通过_回溯(tb)提升值
文件“/usr/lib/python3.6/site packages/sqlalchemy/engine/base.py”,第1116行,在执行上下文中
上下文=构造函数(方言、self、conn、*args)
文件“/usr/lib/python3.6/site packages/sqlalchemy/engine/default.py”,第649行,在_init_编译
对于已编译参数中的键
文件“/usr/lib/python3.6/site packages/sqlalchemy/engine/default.py”,第649行,在
对于已编译参数中的键
文件“/usr/lib/python3.6/site packages/sqlalchemy/sql/type_api.py”,第1078行,正在处理中
返回进程参数(值,方言)
文件“/usr/lib/python3.6/site packages/afflow/utils/sqlalchemy.py”,第156行,进程中绑定参数
raise VALUETERROR('不允许使用原始日期时间')
sqlalchemy.exc.StatementError:(builtins.ValueError)naive datetime是不允许的[SQL:“选择count(%(count_2)s)作为count_1\n从task_instance\n此处task_instance.execution_date=%(execution_date_1)s'][parameters:[{}]
气流似乎无法从web用户界面输入日期格式。 我尝试过我能想到的任何datetime格式,但仍然没有成功


有人能帮忙吗?

我也遇到了这个问题。我的理由与版本有关。在1.8.1中,这是可以的。在1.10.3中,它不是。

您到底想做什么?你能解释一下(a)你导致错误的确切行为和(b)你的意图吗?是的,我刚刚添加了更多的精确性和图像来帮助你。天真的日期时间是指缺少时区信息的日期时间。您可以尝试在末尾添加区域信息,例如
+00:00
。当然,我现在收到错误
无效的筛选值:2018-09-25 07:03:00+00:00
(尝试在第一天筛选)。另外,javascript一直在编辑输入框,这使它变得更加困难,因此这里可能也有js错误。