> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ETL: Google Cloud Spanner Source

> Configure the Google Cloud Spanner source component to read data from Spanner tables or queries in your Integrate.io ETL data pipeline.

## Connection Setup

Content for this article is coming soon. To create a Google Cloud Spanner connection in Integrate.io ETL, use the **Connections** menu and follow the in-app connection wizard.

***

<Frame>
  <img src="https://mintcdn.com/integrateio/OwEKdS5aIKsEcmhX/images/creating-packages/using-components-google-cloud-spanner-source/image-1.png?fit=max&auto=format&n=OwEKdS5aIKsEcmhX&q=85&s=5d75fa9b2369f29b186026b16a6e571e" alt="Google Cloud Spanner source component in the pipeline designer" width="1200" height="828" data-path="images/creating-packages/using-components-google-cloud-spanner-source/image-1.png" />
</Frame>

## Connection

Select an existing Google Spanner connection or create a new one.

## Source Properties

<Frame>
  <img src="https://mintcdn.com/integrateio/OwEKdS5aIKsEcmhX/images/creating-packages/using-components-google-cloud-spanner-source/image-2.png?fit=max&auto=format&n=OwEKdS5aIKsEcmhX&q=85&s=c2512af547e4a7b36d3aac32180582f5" alt="Spanner source properties with access mode, table, and where clause" width="1200" height="828" data-path="images/creating-packages/using-components-google-cloud-spanner-source/image-2.png" />
</Frame>

* **Access mode** - select table to extract an entire table or query to execute a query.
* **Source table** - the table name from which the data will be imported.
* **where clause** - optional. You can add predicates clauses to the WHERE clause as part of the SQL query that is built in order to get the data from the database. Make sure to skip the keyword WHERE.
  | Good | `prod_category = 1 AND prod_color = 'red'`       |
  | :--- | :----------------------------------------------- |
  | Bad  | `WHERE prod_category = 1 AND prod_color = 'red'` |
* **Query** - type in a SQL query. Make sure to name all columns uniquely.

## Source Schema

After defining the source table/query select the fields to use in the source.

With table access mode, the fields you select are used to build the query that will be executed to read the data.

With query access mode, select all the fields that are defined in the query and make sure to use the same column names

Define the data type for the field. Use the following table when matching database data types to Integrate.io ETL data types.

| **Cloud Spanner** | **Integrate.io ETL** |
| :---------------- | :------------------- |
| BOOL              | Boolean              |
| INT64             | Long                 |
| FLOAT64           | Double               |
| STRING(n)         | String               |
| BYTES(n)          | Binary               |
| DATE              | Datetime             |
| TIMESTAMP         | Datetime             |
