Загрузка фрейма данных из MongoDB с настройкой Docker compose и запланирована с потоком воздуха, что приводит к пустому фрейму данных - PullRequest
0 голосов
/ 24 апреля 2020

Итак, я хочу загрузить таблицу данных или фрейм данных из локальной базы данных MongoDB (из базы данных «test» и коллекции «dummy3»), настроенной с помощью docker -compose, с таблицей, структурированной как показано ниже:

  city  num of bike
0   A       1
1   B       2
2   C       3
3   D       5
4   E       2

ниже приведен код python, который я использовал для загрузки таблицы:

def download_db(): 
    client = MongoClient("mongodb://root:root@mongodb:27017/admin")
    db = client['test']
    collection3 = db['dummy3'] 
    df =  pd.DataFrame(list(collection3.find()))
    df.to_csv(r'./dags/df.csv', index = False, header=True)

Когда я использовал приведенный выше код в блокноте Jupiter, код работал хорошо; однако, когда я попытался запланировать приведенный выше код с помощью airflow и установки MongoDB с помощью docker -compose, результатом загрузки стал пустой csv. (как на самом деле загрузить таблицу данных вместо пустой таблицы данных)

docker-compose.yml выглядит так:

version: '3.7'
services:
mongodb_container:
        image: mongo:latest
        container_name: mongodb
        environment:
            - MONGO_INITDB_ROOT_USERNAME=root
            - MONGO_INITDB_ROOT_PASSWORD=root
        ports:
            - "27017:27017"
        volumes:
            - mongodb_data_container:/data/db

volumes:
     mongodb_data_container: 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...