Integrate Google Sheets Data in Pentaho Data Integration



Build ETL pipelines based on Google Sheets data in the Pentaho Data Integration tool.

The CData JDBC Driver for Google Spreadsheets enables access to live data from data pipelines. Pentaho Data Integration is an Extraction, Transformation, and Loading (ETL) engine that data, cleanses the data, and stores data using a uniform format that is accessible.This article shows how to connect to Google Sheets data as a JDBC data source and build jobs and transformations based on Google Sheets data in Pentaho Data Integration.

Configure to Google Sheets Connectivity

You can connect to a spreadsheet by providing authentication to Google and then setting the Spreadsheet connection property to the name or feed link of the spreadsheet. If you want to view a list of information about the spreadsheets in your Google Drive, execute a query to the Spreadsheets view after you authenticate.

ClientLogin (username/password authentication) has been officially deprecated since April 20, 2012 and is now no longer available. Instead, use the OAuth 2.0 authentication standard. To access Google APIs on behalf on individual users, you can use the embedded credentials or you can register your own OAuth app.

OAuth also enables you to use a service account to connect on behalf of users in a Google Apps domain. To authenticate with a service account, register an application to obtain the OAuth JWT values.

See the Getting Started chapter in the help documentation to connect to Google Sheets from different types of accounts: Google accounts, Google Apps accounts, and accounts using two-step verification.

Built-in Connection String Designer

For assistance in constructing the JDBC URL, use the connection string designer built into the Google Sheets JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

java -jar cdata.jdbc.googlesheets.jar

Fill in the connection properties and copy the connection string to the clipboard.

When you configure the JDBC URL, you may also want to set the Max Rows connection property. This will limit the number of rows returned, which is especially helpful for improving performance when designing reports and visualizations.

Below is a typical JDBC URL:

jdbc:googlesheets:Spreadsheet=MySheet;InitiateOAuth=GETANDREFRESH

Save your connection string for use in Pentaho Data Integration.

Connect to Google Sheets from Pentaho DI

Open Pentaho Data Integration and select "Database Connection" to configure a connection to the CData JDBC Driver for Google Spreadsheets

  1. Click "General"
  2. Set Connection name (e.g. Google Sheets Connection)
  3. Set Connection type to "Generic database"
  4. Set Access to "Native (JDBC)"
  5. Set Custom connection URL to your Google Sheets connection string (e.g.
    jdbc:googlesheets:Spreadsheet=MySheet;InitiateOAuth=GETANDREFRESH
  6. Set Custom driver class name to "cdata.jdbc.googlesheets.GoogleSheetsDriver"
  7. Test the connection and click "OK" to save.

Create a Data Pipeline for Google Sheets

Once the connection to Google Sheets is configured using the CData JDBC Driver, you are ready to create a new transformation or job.

  1. Click "File" >> "New" >> "Transformation/job"
  2. Drag a "Table input" object into the workflow panel and select your Google Sheets connection.
  3. Click "Get SQL select statement" and use the Database Explorer to view the available tables and views.
  4. Select a table and optionally preview the data for verification.

At this point, you can continue your transformation or jb by selecting a suitable destination and adding any transformations to modify, filter, or otherwise alter the data during replication.

Free Trial & More Information

Download a free, 30-day trial of the CData JDBC Driver for Google Spreadsheets and start working with your live Google Sheets data in Pentaho Data Integration today.

Ready to get started?

Download a free trial of the Google Sheets Driver to get started:

 Download Now

Learn more:

Google Sheets Icon Google Sheets JDBC Driver

Easily connect Java applications with real-time data from spreadsheets stored in Google Docs. Use Google Sheets to manage the data that powers your applications.