PowerBI | Получение данных из MongoDB с помощью Python - PullRequest
0 голосов
/ 07 мая 2019

Я пытался извлечь данные из MongoDB, используя Python и Pandas.

Я сделал этот скрипт, он отлично работает в Python и работает до конца в PowerBI, так как регистрирует файл с помощью функции log.

Даже если скрипт выполняется до конца, PowerBI что-то ждет, как показано на рисунке

enter image description here

def log (message):
    if LOG:
        pprint.pprint(message)
    if LOG_TO_FILE:
        global LOG_MESSAGE
        f = open(LOG_FILE,"w+")
        LOG_MESSAGE += '-------------------------------' + datetime.date.today().strftime("%d-%b-%Y-%H:%M:%S") + '----------------------------------\n'
        LOG_MESSAGE += message + "\n"
        f.write(LOG_MESSAGE)
        f.close()

log("Initializing the script")
if (CONNECT_TROUGH_SSH):
    server = SSHTunnelForwarder(
        SSH_HOST,
        ssh_username=MONGO_USER,
        ssh_pkey=HOST_KEY_PATH,
        remote_bind_address=('127.0.0.1', 27017)
    )

    log("Openning SSH Tunnel")
    server.start()
    log("SSH Tunnel Oppened")

log("Connecting to MongoDB")
client = pymongo.MongoClient('127.0.0.1', server.local_bind_port) # server.local_bind_port is assigned local port
log("Connected")

log("Getting Collection")
db = client[MONGO_DB]

log("Running Query")
result = list(db[collection_name].find().limit(1))
log("Query returned with " + str(len(result)) + " lines")

log("Converting it to Pandas DataFrame")
Collection = pandas.DataFrame(data=result)

log("Closing DB connection")
db.close()
log("Closed")

if (CONNECT_TROUGH_SSH):
    log("Closing ssh tunnel")
    server.close()
    log("Closed")

log("Finished work :)")

Кто-нибудь пробовал получать данные из внешних баз данных с помощью Python и PB?

...