clickhouse_tools.py 761 B

1234567891011121314151617181920212223
  1. from clickhouse_driver import Client
  2. import logging
  3. # Configure logging
  4. logging.basicConfig(level=logging.INFO)
  5. logger = logging.getLogger(__name__)
  6. class ClickhouseUtil:
  7. @staticmethod
  8. def connect_to_clickhouse(host, port, user, password, database):
  9. try:
  10. client = Client(host=host, port=port, user=user, password=password, database=database)
  11. return client
  12. except Exception as e:
  13. logger.error("Failed to connect to ClickHouse: %s", e)
  14. raise
  15. @staticmethod
  16. def execute_sql(client, query):
  17. try:
  18. result = client.execute(query)
  19. return result
  20. except Exception as e:
  21. logger.error("Failed to execute SQL query: %s", e)
  22. raise