All Downloads are FREE. Search and download functionalities are using the official Maven repository.

activities.baselines.cql-iot.yaml Maven / Gradle / Ivy

There is a newer version: 3.12.99
Show newest version
# nb -v run driver=cql yaml=cql-iot tags=phase:schema host=dsehost
scenarios:
  default:
    - run driver=cql tags==phase:schema threads==1 cycles==UNDEF
    - run driver=cql tags==phase:rampup cycles===TEMPLATE(rampup-cycles,10000000) threads=auto
    - run driver=cql tags==phase:main cycles===TEMPLATE(main-cycles,10000000) threads=auto
params:
  instrument: TEMPLATE(instrument,false)
bindings:
  machine_id: Mod(<>); ToHashedUUID() -> java.util.UUID
  sensor_name: HashedLineToString('data/variable_words.txt')
  time: Mul(<>L); Div(<>L); ToDate()
  cell_timestamp: Mul(<>L); Div(<>L); Mul(1000L)
  sensor_value: Normal(0.0,5.0); Add(100.0) -> double
  station_id: Div(<>);Mod(<>); ToHashedUUID() -> java.util.UUID
  data: HashedFileExtractToString('data/lorem_ipsum_full.txt',800,1200)
blocks:
  - tags:
      phase: schema
    params:
      prepared: false
    statements:
     - create-keyspace: |
        create keyspace if not exists <>
        WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '<>'}
        AND durable_writes = true;
       tags:
         name: create-keyspace
     - create-table : |
        create table if not exists <>.<> (
        machine_id UUID,     // source machine
        sensor_name text,    // sensor name
        time timestamp,      // timestamp of collection
        sensor_value double, //
        station_id UUID,     // source location
        data text,
        PRIMARY KEY ((machine_id, sensor_name), time)
        ) WITH CLUSTERING ORDER BY (time DESC)
         AND compression = { 'sstable_compression' : '<>' }
         AND compaction = {
         'class': 'TimeWindowCompactionStrategy',
         'compaction_window_size': <>,
         'compaction_window_unit': 'MINUTES'
        };
       tags:
         name: create-table
     - truncate-table: |
         truncate table <>.<>;
       tags:
         name: truncate-table
  - tags:
      phase: rampup
    params:
      cl: <>
    statements:
     - insert-rampup: |
        insert into  <>.<>
        (machine_id, sensor_name, time, sensor_value, station_id, data)
        values ({machine_id}, {sensor_name}, {time}, {sensor_value}, {station_id}, {data})
        using timestamp {cell_timestamp}
       idempotent: true
       tags:
         name: insert-rampup
       params:
         instrument: TEMPLATE(instrument-writes,TEMPLATE(instrument,false))
  - tags:
      phase: verify
      type: read
    params:
      ratio: 1
      cl: <>
    statements:
     - select-verify: |
         select * from <>.<>
         where machine_id={machine_id} and sensor_name={sensor_name} and time={time};
       verify-fields: "*, -cell_timestamp"
       tags:
         name: select-verify
       params:
         instrument: TEMPLATE(instrument-reads,TEMPLATE(instrument,false))
  - tags:
      phase: main
      type: read
    params:
      ratio: <>
      cl: <>
    statements:
     - select-read: |
         select * from <>.<>
         where machine_id={machine_id} and sensor_name={sensor_name}
         limit <>
       tags:
         name: select-read
       params:
         instrument: TEMPLATE(instrument-reads,TEMPLATE(instrument,false))
  - tags:
      phase: main
      type: write
    params:
      ratio: <>
      cl: <>
    statements:
     - insert-main: |
        insert into <>.<>
        (machine_id, sensor_name, time, sensor_value, station_id, data)
        values ({machine_id}, {sensor_name}, {time}, {sensor_value}, {station_id}, {data})
        using timestamp {cell_timestamp}
       idempotent: true
       tags:
         name: insert-main
       params:
         instrument: TEMPLATE(instrument-writes,TEMPLATE(instrument,false))





© 2015 - 2025 Weber Informatics LLC | Privacy Policy