📓
BK Tricks
<- back to the bodik.tech
  • BK Tricks
  • AI\ML
    • Using PostgreSQL with pgvector extension to store and search embeddings
    • JavaScript-based tools
  • Databases
    • PostgreSQL
      • How to Use HOT Updates in PostgreSQL to Boost Your UPDATE Queries
      • Maximizing the Potential of Embeddings with PGvector: A Comprehensive Guide
    • Elasticsearch
      • The impact of Elasticsearch segments on search speed
      • How to aggregate Elasticsearch results by the timestamp on day interval?
      • Mastering Vector Search in Elasticsearch: Mapping Index for KNN
    • Prometheus
      • What is Prometheus and what is it usually used for?
      • How to create a simple Prometheus exporter?
    • Clickhouse
      • How to make a difference of two arrays in ClickHouse?
      • Materialized View that parses JSON or nested JSON from the string field of another table
      • Attach S3 as a storage engine to ClickHouse
      • Table with TTL to S3
      • Partition ClickHouse table based on unique string hash
      • Create a connection to other ClickHouse instance
  • Infrastructure
    • AWS
      • SAM
        • Schema to create a resource of DynamoDB table using SAM
        • Example of enabling streaming functionality of DynamoDB table using SAM resource
        • Schema to create Lambda function resource using SAM
        • Adding environment variables to Lambda function resource using SAM
        • Adding a scheduled timer to start Lambda function resource using SAM
        • Reading stream from DynamoDB by Lambda function declared using SAM
        • Schema to create a resource of SQS queue using SAM
      • CloudFront
        • How to make redirect using Lambda@Edge?
  • Programming
    • JavaScript
      • Convert hexadecimal string to an array of Uint8 values
      • How to decrypt data encoded with NaCl cryptographic algorithm using NodeJS?
      • How to add a property to JavaScript object if it is not empty or null?
  • Tools
    • Kafka
      • Useful tools
      • How to view all of the offsets for some consumer groups in Kafka using CLI?
      • How to set Kafka offsets of a consumer group to a predefined list for all partitions at once?
  • Math
    • Transform the number from one numeric range to another
  • Frontend
    • Useful resources
Powered by GitBook
On this page
  1. Databases
  2. Clickhouse

Partition ClickHouse table based on unique string hash

I needed to create partitioning of the table based on unique string hash in range of [1...400], to have max 400 of partitions

cast(((arrayReduce('sum', arrayMap(x -> reinterpretAsUInt32(x), arrayConcat(splitByString('', if(isNotNull(jobHash), jobHash, '')), []))) - 100) * (400 - 1) / (3500 - 100) + 1), 'UInt64')
PreviousTable with TTL to S3NextCreate a connection to other ClickHouse instance

Last updated 2 years ago