top of page
nlsamkariashiva

Connecting to ClickHouse and Executing a SELECT Query in Python



To connect to a ClickHouse database and run a simple SELECT statement in Python, you can use the clickhouse-driver library. This library provides a native, fast and convenient way to connect to ClickHouse from Python.

Here's a step-by-step guide along with a sample code snippet:

  • Install clickhouse-driver: If you haven't already installed the clickhouse-driver library, you can install it using pip:

pip install clickhouse-driver											
  • Sample Python Code:


The following Python script demonstrates how to connect to a ClickHouse

database and execute a simple SELECT query:

from clickhouse_driver import Client

# Replace these variables with your ClickHouse credentials
host = 'your_clickhouse_host'
port = 9000  # Default ClickHouse port, change if necessary
user = 'your_username'
password = 'your_password'
database = 'your_database'

# Create a client instance
client = Client(host=host, port=port, user=user, password=password, database=database)

# Simple SELECT statement
query = 'SELECT * FROM your_table LIMIT 10'

# Execute the query
try:
    result = client.execute(query)
    for row in result:
        print(row)
except Exception as e:
    print(f"An error occurred: {e}")
  • Replace 'your_clickhouse_host', 'your_username', 'your_password', 'your_database', and 'your_table' with your actual ClickHouse server details and the table you want to query.

  • Run this script in your Python environment. It will connect to the ClickHouse server, execute the SELECT statement, and print the results.

  • Ensure that your ClickHouse credentials are kept secure and not exposed in your code, especially if you are sharing it or using version control systems like Git.

  • Consider using environment variables or a configuration file to manage sensitive information.

  • The execute method returns a list of tuples, where each tuple represents a row in the result set. You can iterate over this list to process your query results.

This script provides a basic example of interacting with a ClickHouse database in Python. Depending on your specific requirements, you might want to add error handling, dynamic query construction, or integrate this code into a larger application.

50 views0 comments

Comments


bottom of page