InfluxDB3 Enterprise: самый быстрый способ получить самые старые и самые молодые строки даты и времениPython

Программы на Python
Ответить
Anonymous
 InfluxDB3 Enterprise: самый быстрый способ получить самые старые и самые молодые строки даты и времени

Сообщение Anonymous »

Мне нужно извлечь данные из таблицы InfluxDB3 Enterprise с
  • 17 млн ​​строк
  • 40 столбцами
  • четырьмя из которых тегами
датой и временем самой молодой и самой старой строк. Я ожидал, что это будет очень быстро, поскольку InfluxDB оптимизирован для таймсерий. Напротив, у меня большие проблемы, поскольку на моем компьютере это занимает более четырех минут и много памяти. Один из запросов, которые я пытаюсь выполнить в Jupyter Notebook, следующий:

Код: Выделить всё

from influxdb_client_3 import InfluxDBClient3
import time

# Config
influx_token = '[YOUR_TOKEN]'
influx_url = "http://127.0.0.1:8181"
influx_bucket = "[your_bucket]"

client = InfluxDBClient3(
host=influx_url,
token=influx_token,
database=influx_bucket
)

measurement = "XOM-option-5m"

query = f'SELECT FIRST(bid), LAST(bid) FROM "{measurement}"'

print(f"[QUERY] {query}")

t0 = time.time()
result = client.query(query, language="influxql")
elapsed = time.time() - t0

df = result.to_pandas() if hasattr(result, "to_pandas") else result

print(f"\n[RESULT] Elapsed: {elapsed:.2f}s")
print(f"[RESULT] Shape: {df.shape}")
print(f"[RESULT] Columns: {list(df.columns)}")
print(f"\n[RESULT] Data:")
print(df)
Надеюсь, я в чем-то ошибаюсь, иначе это означает, что я вообще неправильно выбрал InfluxDB!!!
Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/798 ... etime-rows
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»