Как определить несколько определений таблиц и несколько спецификаций столбцов для файла профиля cassandra-stress?

# Keyspace Name
keyspace: demo1

# The CQL for creating a keyspace (optional if it already exists)
keyspace_definition: |
  CREATE KEYSPACE demo1;
# Table name
table: sample_test

# The CQL for creating a table you wish to stress (optional if it already exists)
table_definition: |
    CREATE TABLE sample_test (
        key1 blob PRIMARY KEY,
        value1 blob
    )

### Column Distribution Specifications ###

columnspec:
  - name: hash
    size: fixed(96)       #domain names are relatively short

  - name: body
    size: gaussian(100..300)    #the body of the blog post can be long
    population: uniform(1..10M)  #10M possible domains to pick from

Теперь, как мне определить другую таблицу в том же ключевом пространстве? Во всех примерах говорится только об определении одной таблицы. Я попытался также определить другое определение таблицы и спецификацию ее столбца, как указано выше, но затем я получаю следующую ошибку «com.datastax.driver.core.exceptions.InvalidQueryException: слишком большая партия».


person user1870400    schedule 20.01.2016    source источник


Ответы (2)


К сожалению, вы не можете. Профиль напряжения может содержать только один table_definition и в нем может быть определена только одна таблица. Он даже проверяет, что есть только одно определение, соответствующее объявлению table. Вы можете попробовать запустить два экземпляра инструмента стресса одновременно, чтобы получить такое поведение, это неудобно, но я думаю, что это единственный доступный обходной путь, кроме написания собственного теста (что сложно).

person Chris Lohfink    schedule 20.01.2016

Эта проблема была поднята в Cassandra https://issues.apache.org/jira/browse/CASSANDRA-8780

Она была исправлена, но будет выпущена только в следующей основной версии Cassandra (4.0).

person Kyle Titus    schedule 30.01.2019