class SaveToCassandraOperationsService {

    public void createTable(String tableName, List<ColumnNameTypeValue> columns, String timestampColumnName) {
        StringBuilder sb = new StringBuilder();

        for (Entry<String, String> entry : getStreamFieldsAndTypes(columns).entrySet()) {
            sb.append(addQuotes(entry.getKey()));
            sb.append(" ");
            sb.append(entry.getValue());
            sb.append(",");
        }
        try {
            session.execute(String
                    .format("CREATE TABLE %s.%s (%s timeuuid, %s PRIMARY KEY (%s)) WITH compression = {'sstable_compression': ''}",
                            STREAMING.STREAMING_KEYSPACE_NAME, addQuotes(tableName), addQuotes(timestampColumnName),
                            sb.toString(), addQuotes(timestampColumnName)));
        } catch (AlreadyExistsException e) {
            log.info("Stream table {} already exists", tableName);
        }
    }

    public  SaveToCassandraOperationsService(Session session);

}