проблемы:
1. если делаю селект через sqlalchemy, то не могу получить названия столбцов обратно, в res.keys() и res.cursor.description отдает первые две строки вместо colnames. и по итогу мне после вызова res.fetchall() возвращается еще и на 2 строки меньше. что я делаю не так? код ниже:
import sqlalchemy as sa
import pandas as pd
engine = sa.create_engine('clickhouse://default:@localhost:8123/')
with engine.connect() as con:
res = con.execute("SELECT * FROM xxx.xxx")
nm = res.keys()
nm2 = res.cursor.description
res = pd.DataFrame(res.fetchall())
2. если пытаюсть коннектиться через clickhouse_driver, то ничего не выходит, просто зависает. возможно, это из-за того, что ssh туннель прокинут на локалхост:8123, но что с этим делать — тоже не пойму (подобная проблема на R была, не решил).
from clickhouse_driver import Client
client = Client(host = 'localhost',
port = 8123)
res = client.execute('SELECT * FROM xxx.xxx')
заранее спасибо
проблема решилась либой pandahouse, если кому интересно
Попробуйте pandahouse . Сразу возвращает датафрейм, что очень удобно, при использовании пандаса.
кликхаус драйвер работает через порт 9000, не по HTTP
Я делал обвязку для алхимии. Можете мне в личку написать
Попробуй через simplech: я вижу два преимущества по другим библиотекам: 1. возвращается структура: список словарей, 2. Есть асинхронка
Обсуждают сегодня