Не удается запросить большие наборы данных на InfluxDB, неправильное использование чанка / потоковой передачи (Python) - PullRequest
0 голосов
/ 31 марта 2020

Я на InfluxDB версии 1.7.9 и PythonClient 5.2.3.

У меня есть база данных, которая весит около 28 ГБ, и я пытаюсь запросить ее у Ma c (10.12 .6 ОС, если это уместно) с 16 ГБ оперативной памяти, используя Python Client (я использую python 3.7).

Я боролся с этой проблемой уже неделю, в начале я получит эту ошибку: запросы и # 753, реализовал изменения из проблемы # 753, и теперь, когда я запускаю запрос, Python просто дает мне: Процесс завершен с кодом выхода 137 (прерван сигналом 9: SIGKILL)

Я надеялся, что превратит мой client.query в генератор, который выдает каждую строку по одной за раз каждый раз, когда он ее получает, так что я могу обработать его, а затем он очищает Ram и запрашивает следующую строку. В основном потоковое. «результаты» теперь являются генератором, но этого не происходит в любом случае. Это мой Python код:

client = InfluxDBClient(host='127.0.0.1', port='8086', username=‘x’, password=‘x’, database=‘x’)
q = 'SELECT * FROM “x”’
result = client.query(q, chunked=True).get_points()
print(“Query done “ +  + str(datetime.utcfromtimestamp(time.time())))
here I initialize an empty dataframe
for msg in result:
here i iterate through the results, process them and append them to the empty dataframe, and then I save the dataframe to a csv
the ‘x’ are for censorship

Заранее спасибо

...