Python 2.7 初始化数据库时,导入错误:无法导入名称HiveOperator

Python 2.7 初始化数据库时,导入错误:无法导入名称HiveOperator,python-2.7,hive,airflow,Python 2.7,Hive,Airflow,我最近为我的工作流安装了气流。创建项目时,我执行了以下命令: airflow initdb 返回以下错误: [2016-08-15 11:17:00,314] {__init__.py:36} INFO - Using executor SequentialExecutor DB: sqlite:////Users/mikhilraj/airflow/airflow.db [2016-08-15 11:17:01,319] {db.py:222} INFO - Creating tables

我最近为我的工作流安装了
气流
。创建项目时,我执行了以下命令:

airflow initdb
返回以下错误:

[2016-08-15 11:17:00,314] {__init__.py:36} INFO - Using executor SequentialExecutor
DB: sqlite:////Users/mikhilraj/airflow/airflow.db
[2016-08-15 11:17:01,319] {db.py:222} INFO - Creating tables
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
ERROR [airflow.models.DagBag] Failed to import: /usr/local/lib/python2.7/site-packages/airflow/example_dags/example_twitter_dag.py
Traceback (most recent call last):
    File "/usr/local/lib/python2.7/site-packages/airflow/models.py", line 247, in process_file
       m = imp.load_source(mod_name, file path)
    File "/usr/local/lib/python2.7/site-packages/airflow/example_dags/example_twitter_dag.py", line 26, in <module>
       from airflow.operators import BashOperator, HiveOperator, PythonOperator
ImportError: cannot import name HiveOperator
Done.
[2016-08-15 11:17:00314]{uuuu init.py:36}信息-使用执行器顺序执行器
DB:sqlite:////Users/mikhilraj/airflow/airflow.db
[2016-08-15 11:17:01319]{db.py:222}信息-创建表
信息[alembic.runtime.migration]上下文impl SQLiteImpl。
INFO[alembic.runtime.migration]将采用非事务性DDL。
错误[airflow.models.DagBag]导入失败:/usr/local/lib/python2.7/site-packages/airflow/example\u dags/example\u twitter\u dag.py
回溯(最近一次呼叫最后一次):
文件“/usr/local/lib/python2.7/site packages/afflow/models.py”,第247行,进程中文件
m=imp.load\u源(模块名称、文件路径)
文件“/usr/local/lib/python2.7/site packages/afflow/example_dags/example_twitter_dag.py”,第26行,在
从airflow.operators导入BashOperator、HiveOperator、PythonOperator
ImportError:无法导入名称HiveOperator
完成。

我在网上查了一些类似的问题,建议我安装
气流[hive]
pyhs2
,但它似乎不起作用。

您使用的是
HiveOperator
?您得到的错误似乎是由示例DAG中的1个造成的。在生产过程中,只有在使用HiveOperator时,您可能才应该将
load\u examples
设置为
False
并安装
airflow[hive]

话虽如此,我不知道为什么
气流[蜂巢]
对你来说还不够。您可以尝试安装
aiffort[hive,hdfs,jdbc]
,但是aiffort[hive]应该足以消除
HiveOperator
导入错误。您是否可以补充一下您遇到的其他错误

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/airflow/models.py", line 247, in process_file
    m = imp.load_source(mod_name, filepath)
  File "/usr/local/lib/python2.7/dist-packages/airflow/example_dags/example_twitter_dag.py", line 26, in <module>
    from airflow.operators import BashOperator, HiveOperator, PythonOperator
ImportError: cannot import name HiveOperator

注意:如果适用,请应用必要的sudo命令

检查是否在dag文件中导入了配置单元操作符? 如果没有,您可以执行以下操作:


来自afflow.operators.hive\u operator导入HiveOperator

似乎这就是问题所在。在生产过程中,气流[蜂巢]
为我工作。您能告诉我如何将
load_examples
设置为
False
。请查看
aiffort.cfg
文件。Airflow会在Airflow\u HOME dir中自动为您创建默认的
Airflow.cfg
文件。该文件有一个变量
load\u examples
,默认设置为
True
命令
pip install aiffair[hive]
足以为我解决新安装时的错误。教程触发了这个问题。我通过从git repo:pip install-e安装解决了这个问题“吉特+ssh://git@github.com/apache/incubator-afflow。git@master#蛋=气流“
[2017-02-01 12:04:28,289] {__init__.py:36} INFO - Using executor SequentialExecutor
[2017-02-01 12:04:28,350] {driver.py:120} INFO - Generating grammar tables from /usr/lib/python2.7/lib2to3/Grammar.txt
[2017-02-01 12:04:28,376] {driver.py:120} INFO - Generating grammar tables from /usr/lib/python2.7/lib2to3/PatternGrammar.txt
DB: sqlite:////root/airflow/airflow.db
[2017-02-01 12:04:28,522] {db.py:222} INFO - Creating tables
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
Done.