# Pinot Data Explorer

Once you have set up the Cluster, you can start exploring the data and the APIs. Pinot 0.5.0 comes bundled with a completely new UI.

Navigate to <http://localhost:9000> in your browser to open the controller UI.

![](https://2944557471-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtH6nl58DdnZnelPdTc%2F-MEkv4Reui1q3pCZv3eG%2F-MEkwNZbRnxR-ikE2yIG%2FPinot_controller_UI.png?alt=media\&token=b43f633c-fbc3-4974-91bf-4a0346490281)

Let's take a look at the following two features on the UI

## Query Console

Let us run some queries on the data in the Pinot cluster. Head over to [Query Console](http://localhost:9000/#/query) to see the querying interface.

We can see our `baseballStats` table listed on the left (you will see `meetupRSVP` or `airlineStats` if you used the streaming or the hybrid quick start). Click on the table name to display all the names along with the data types of the columns of the table.\
You can also execute a sample query `select * from baseballStats limit 10` by typing it in the text box and clicking the `Run Query` button.

`Cmd + Enter` can also be used to run the query when focused on the console.

![](https://2944557471-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtH6nl58DdnZnelPdTc%2F-MEkv4Reui1q3pCZv3eG%2F-MEkx7TNGEzYa6TCW6TR%2FPinot_query_console_cropped.png?alt=media\&token=ac2ccb89-1c63-4c50-b7fc-615e42a8590a)

You can also try out the following queries:

```
select playerName, max(hits) 
from baseballStats 
group by playerName 
order by max(hits) desc
```

```
select sum(hits), sum(homeRuns), sum(numberOfGames) 
from baseballStats 
where yearID > 2010
```

```
select * 
from baseballStats 
order by league
```

Pinot supports a subset of standard SQL. For more information, see [Pinot Query Language](https://docs.pinot.apache.org/release-0.9.0/users/user-guide-query/querying-pinot).

## Rest API

The [Pinot Admin UI](http://localhost:9000/help) contains all the APIs that you will need to operate and manage your cluster. It provides a set of APIs for Pinot cluster management including health check, instances management, schema and table management, data segments management.

![](https://2944557471-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtH6nl58DdnZnelPdTc%2F-M1BuoMXn83szIeNCWPT%2F-M1BxN51vPW0p9FFuJCK%2FScreen%20Shot%202020-02-28%20at%2010.00.43%20AM.png?alt=media\&token=283f9390-5d08-4d62-a39f-7746a8cd638c)

Let's check out the tables in this cluster by going to [Table -> List all tables in cluster](http://localhost:9000/help#!/Table/listTableConfigs) and click on `Try it out!`. We can see the`baseballStats` table listed here. We can also see the exact`curl` call made to the controller API.

![List all tables in cluster](https://2944557471-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtH6nl58DdnZnelPdTc%2F-M1BuoMXn83szIeNCWPT%2F-M1BxrpXNZI7d1Dju6zO%2FScreen%20Shot%202020-02-28%20at%2010.00.26%20AM.png?alt=media\&token=7760bfa6-4f6b-4521-b393-55ddfa00c2de)

You can look at the configuration of this table by going to [Tables -> Get/Enable/Disable/Drop a table](http://localhost:9000/help#!/Table/alterTableStateOrListTableConfig), type in `baseballStats` in the table name, and click `Try it out!`

Let's check out the schemas in the cluster by going to [Schema -> List all schemas in the cluster](http://localhost:9000/help#!/Schema/listSchemaNames) and click `Try it out!`. We can see a schema called `baseballStats` in this list.

![List all schemas in the cluster](https://2944557471-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtH6nl58DdnZnelPdTc%2F-M1BuoMXn83szIeNCWPT%2F-M1Bz_PiVhEyMmAS7Dbk%2FScreen%20Shot%202020-02-28%20at%2010.09.18%20AM.png?alt=media\&token=5e088bb9-41f0-40cc-8bde-9186171eac60)

Take a look at the schema by going to [Schema -> Get a schema](http://localhost:9000/help#!/Schema/getSchema), type `baseballStats` in the schema name, and click `Try it out!`.

```
{
  "schemaName": "baseballStats",
  "dimensionFieldSpecs": [
    {
      "name": "playerID",
      "dataType": "STRING"
    },
    {
      "name": "yearID",
      "dataType": "INT"
    },
    {
      "name": "teamID",
      "dataType": "STRING"
    },
    {
      "name": "league",
      "dataType": "STRING"
    },
    {
      "name": "playerName",
      "dataType": "STRING"
    }
  ],
  "metricFieldSpecs": [
    {
      "name": "playerStint",
      "dataType": "INT"
    },
    {
      "name": "numberOfGames",
      "dataType": "INT"
    },
    {
      "name": "numberOfGamesAsBatter",
      "dataType": "INT"
    },
    {
      "name": "AtBatting",
      "dataType": "INT"
    },
    {
      "name": "runs",
      "dataType": "INT"
    },
    {
      "name": "hits",
      "dataType": "INT"
    },
    {
      "name": "doules",
      "dataType": "INT"
    },
    {
      "name": "tripples",
      "dataType": "INT"
    },
    {
      "name": "homeRuns",
      "dataType": "INT"
    },
    {
      "name": "runsBattedIn",
      "dataType": "INT"
    },
    {
      "name": "stolenBases",
      "dataType": "INT"
    },
    {
      "name": "caughtStealing",
      "dataType": "INT"
    },
    {
      "name": "baseOnBalls",
      "dataType": "INT"
    },
    {
      "name": "strikeouts",
      "dataType": "INT"
    },
    {
      "name": "intentionalWalks",
      "dataType": "INT"
    },
    {
      "name": "hitsByPitch",
      "dataType": "INT"
    },
    {
      "name": "sacrificeHits",
      "dataType": "INT"
    },
    {
      "name": "sacrificeFlies",
      "dataType": "INT"
    },
    {
      "name": "groundedIntoDoublePlays",
      "dataType": "INT"
    },
    {
      "name": "G_old",
      "dataType": "INT"
    }
  ]
}
```

Finally, let's checkout the data segments in the cluster by going to [Segment -> List all segments](http://localhost:9000/help#!/Segment/getSegments), type in `baseballStats` in the table name, and click `Try it out!`. There's 1 segment for this table, called `baseballStats_OFFLINE_0`.

To learn how to uploaded your own data and schema, head over to [Batch Ingestion](https://docs.pinot.apache.org/release-0.9.0/basics/data-import/batch-ingestion) or [Stream ingestion](https://docs.pinot.apache.org/release-0.9.0/basics/data-import/pinot-stream-ingestion).
