2016-08-15 20 views
14

Gần đây tôi đã cài đặt airflow cho luồng công việc của mình. Trong khi tạo dự án của tôi, tôi thực hiện lệnh sau:Trong khi luồng không khí initdb, ImportError: không thể nhập tên HiveOperator

airflow initdb 

mà trở lại báo lỗi sau:

[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. 

Tôi đã kiểm tra một số vấn đề tương tự như trên web, mà đề nghị tôi để cài đặt airflow[hive], pyhs2 nhưng nó không dường như hoạt động.

Trả lời

22

Bạn đang sử dụng HiveOperator? Dường như lỗi bạn đang nhận được là do 1 trong các ví dụ bị trễ. Trong quá trình sản xuất, bạn có thể đặt load_examples thành False và chỉ cài đặt airflow[hive] nếu bạn đang sử dụng HiveOperator.

Điều đó đang được nói, không chắc tại sao airflow[hive] không đủ cho bạn. Bạn có thể thử cài đặt airflow[hive,hdfs,jdbc] nhưng luồng không khí [hive] phải đủ để loại bỏ lỗi nhập HiveOperator. Có lẽ bạn có thể thêm những gì khác lỗi bạn đang nhận được?

+0

Có vẻ như đó là vấn đề. Về sản xuất 'luồng không khí [hive] 'làm việc cho tôi. Bạn có thể cho tôi biết cách đặt 'load_examples' thành' False' không. – Rusty

+2

Kiểm tra tệp 'airflow.cfg'. Luồng không khí tự động tạo tệp 'airflow.cfg' mặc định cho bạn trong thư mục AIRFLOW_HOME. Tệp có một biến 'load_examples' theo mặc định được đặt thành' True' –

+0

yeah. Điều này cũng làm việc trên địa phương của tôi. – Rusty

2
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 

Nếu bạn vẫn muốn tiếp tục cài đặt dữ liệu mẫu ... cho Ubuntu 14.04, vui lòng sử dụng phương pháp này với trăn 2.7 mới nhất. (Thử nghiệm tại DO)

1.apt-get update

2.apt-get install python-pip python-dev build-essential

3.pip install --upgrade pip

3a.which pip #/usr/local/bin/pip

3b.pip -V #pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)

4.pip install --upgrade virtualenv

(Task 5 is optional)

5.apt-get install sqlite3 libsqlite3-dev

https://askubuntu.com/questions/683601/how-to-upgrade-python-setuptools-12-2-on-ubuntu-15-04

6.apt-get remove python-setuptools

7.pip install -U pip setuptools

8.export AIRFLOW_HOME=~/airflow

9.pip install airflow

10.pip install airflow[hive]

11.airflow initdb

Bạn sẽ nhận được phản ứng này dưới

[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. 

LƯU Ý: Xin hãy áp dụng lệnh sudo cần thiết nếu áp dụng

Các vấn đề liên quan