# SQL Processors

The CLI can create, modify, pause, restart and remove Lenses SQL Processors.

## View processors <a href="#view-processors" id="view-processors"></a>

View all processors registered. Optionally filter by name, cluster and namespace.

```bash
lenses-cli processors
# filter by namespace
lenses-cli processors --namespace lenses-sql

# Please note the following columns in the table: 
# * 'ID' which should be used as the 'id' required for the commands below.
# * 'PROCESSORID' , which the user may have configured in creating the processor, and will be used as the consumer group of the processor.
```

## Create processors <a href="#create-processors" id="create-processors"></a>

For IN\_PROC you only need the name, for KUBERNETES all three. Creating an IN\_PROC processor will start it automatically. This is not the case for Kubernetes deployments, a start command (see below) is required once created.

* `--id` (the processor id, optional)
* `--name` (optional)
* `--cluster-name` (should be passed if `KUBERNETES`)
* `--namespace` (should be passed if `KUBERNETES`)
* `--runners` (number of times to deploy while in `KUBERNETES`)

```bash
lenses-cli processor create \
    --name="processorName" \
    --runners=1 \
    --cluster-name="clusterName" \
    --namespace="ns" \
    --pipeline="prod" \
    --sql="SET defaults.topic.autocreate=true;INSERT INTO topicB SELECT STREAM * FROM topic1"

```

From a file:

```bash
lenses-cli processor create ./processor.yaml
```

```yaml
name: processorName
runners: 1
sql: |-
    SET defaults.topic.autocreate=true;INSERT INTO topicB SELECT STREAM * FROM topic1
```

## Stop a processor <a href="#stop-a-processor" id="stop-a-processor"></a>

For `IN_PROC` you only need the name, for `KUBERNETES` all three:

```bash
lenses-cli processor stop \
    --cluster-name="clusterName?" \
    --namespace="namespace?" \
    --name="processorName"
```

## Start a processor <a href="#start-a-processor" id="start-a-processor"></a>

For `IN_PROC` you only need the name, for `KUBERNETES` all three:

```bash
lenses-cli processor start \
    --cluster-name="clusterName?" \
    --namespace="namespace?" \
    --name="processorName"
```

## Update the number of runners <a href="#update-a-processor-runners" id="update-a-processor-runners"></a>

Update a processor from the command line flags or files. **Only for `KUBERNETES`:**

```bash
lenses-cli processor update \
    --cluster-name="clusterName?" \
    --namespace="namespace" \
    --name="processorName" \
    --runners=2

```

From a file.

```bash
lenses-cli processor update ./processor.yaml
```

```yaml
name: processorName
runners: 1
sql: |-
    SET defaults.topic.autocreate=true;INSERT INTO topicB SELECT STREAM * FROM topic1
```

## Delete a processor <a href="#delete-a-processor" id="delete-a-processor"></a>

Delete a processor by name, cluster and namespace. For `IN_PROC` you only need the name, and for `KUBERNETES` all 3 (name, cluster, namespace).

```bash
lenses-cli processor delete \
    --namespace="namespace" \
    --cluster-name="clusterName" \
    --name="processorName
```

## View processors logs <a href="#view-processors-logs" id="view-processors-logs"></a>

**Available only for `KUBERNETES`**.

```bash
lenses-cli processors logs \
    --cluster-name=clusterName \
    --namespace=nameSpace \
    --podName=runnerStateID [--follow --lines]
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.lenses.io/latest/devx/5.5/user-guide/cli/applications/sql-processors.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
