AV
Size: a a a
AV
AK
MG
import jsonЕсли нужен именно web-интерфейс на порту 8123, то можно использовать библиотеку requests:
from clickhouse_driver import Client
import numpy as np
import pandas as pd
ch_type_to_dtype = {
'DateTime': 'datetime64[ns]',
'Date': 'datetime64[ns]',
'String': 'string',
'UInt8': 'boolean',
'Int32': 'Int64',
'Int64': 'Int64',
'Array(String)': 'object'
}
def ch_create_client_from_file(filename='data/ch_credentials.json'):
params = None
with open(filename) as f:
params = json.load(f)
return Client(**params)
def load_dataframe_from_clickhouse_table(client, query):
res = client.execute(query, with_column_types=True)
return pd.DataFrame({
col_name: pd.Series(data=col_data, dtype=ch_type_to_dtype[col_type]) \
for col_data, (col_name, col_type) in zip(zip(*res[0]), res[1])
})
import requests
response = requests.post(
'http://127.0.0.1:8123/',
auth=('<username>', '<password>'),
data='SELECT event_timestamp_ms FROM somename.eventstream LIMIT 3'
)
response.text
A
MG
АН
TS
A
MG
K
A
АН
РО
C
O
K
АН
O