Ready to get started?

Learn more or sign up for a free trial:

CData Sync

Automated Continuous Elasticsearch Replication to Google BigQuery



Use CData Sync for automated, continuous, customizable Elasticsearch replication to Google BigQuery.

Always-on applications rely on automatic failover capabilities and real-time data access. CData Sync integrates live Elasticsearch data into your Google BigQuery instance, allowing you to consolidate all of your data into a single location for archiving, reporting, analytics, machine learning, artificial intelligence and more.

Configure Google BigQuery as a Replication Destination

Using CData Sync, you can replicate Elasticsearch data to Google BigQuery. To add a replication destination, navigate to the Connections tab.

  1. Click Add Connection.
  2. Select Google BigQuery as a destination.
  3. Enter the necessary connection properties. To connect to Google BigQuery, use OAuth authentication:

    Authenticate with a User Account

    In this OAuth flow, you can connect without setting any connection properties for your user credentials.

    1. Click Connect, and CData Sync opens the Google BigQuery OAuth endpoint.
    2. Log in and grant permissions to CData Sync.
    3. CData Sync then completes the OAuth process.

    Authenticate with a Service Account

    Service accounts have silent authentication, without user authentication in the browser. You can also use a service account to delegate enterprise-wide access scopes to CData Sync.

    You need to create an OAuth application in this flow. See Creating a Custom OAuth App in the Getting Started section to create and authorize an app. You can then connect to Google BigQuery data that the service account has permission to access.

    After setting the following connection properties, you are ready to connect:

    • OAuthClientId: Set this to the Client ID in your app settings.
    • OAuthClientSecret: Set this to the Client Secret in your app settings.
    • OAuthJWTCertType: Set this to "PEMKEY_FILE".
    • OAuthJWTCert: Set this to the path to the .pem file you generated.
    • OAuthJWTCertPassword: Set this to the password of the .pem file.
    • OAuthJWTCertSubject: Set this to "*" to pick the first certificate in the certificate store.
    • OAuthJWTSubject: Set this to the email address of the user for whom the application is requesting delegate access. Note that delegate access must be granted by an administrator.
    • DatasetId: Set this to the ID of the dataset you want to connect to.
    • ProjectId: Set this to the ID of the project you want to connect to.
    When you connect, CData Sync completes the OAuth flow for a service account.

  4. Click Test Connection to ensure that the connection is configured properly.
  5. Click Save Changes.

Configure the Elasticsearch Connection

You can configure a connection to Elasticsearch from the Connections tab. To add a connection to your Elasticsearch account, navigate to the Connections tab.

  1. Click Add Connection.
  2. Select a source (Elasticsearch).
  3. Configure the connection properties.

    Set the Server and Port connection properties to connect. To authenticate, set the User and Password properties, PKI (public key infrastructure) properties, or both. To use PKI, set the SSLClientCert, SSLClientCertType, SSLClientCertSubject, and SSLClientCertPassword properties.

    The data provider uses X-Pack Security for TLS/SSL and authentication. To connect over TLS/SSL, prefix the Server value with 'https://'. Note: TLS/SSL and client authentication must be enabled on X-Pack to use PKI.

    Once the data provider is connected, X-Pack will then perform user authentication and grant role permissions based on the realms you have configured.

  4. Click Connect to ensure that the connection is configured properly.
  5. Click Save Changes.

Configure Replication Queries

CData Sync enables you to control replication with a point-and-click interface and with SQL queries. For each replication you wish to configure, navigate to the Jobs tab and click Add Job. Select the Source and Destination for your replication.

Replicate Entire Tables

To replicate an entire table, click Add Tables in the Tables section, choose the table(s) you wish to replicate, and click Add Selected Tables.

Customize Your Replication

You can use the Columns and Query tabs of a task to customize your replication. The Columns tab allows you to specify which columns to replicate, rename the columns at the destination, and even perform operations on the source data before replicating. The Query tab allows you to add filters, grouping, and sorting to the replication.

Schedule Your Replication

In the Schedule section, you can schedule a job to run automatically, configuring the job to run after specified intervals ranging from once every 10 minutes to once every month.

Once you have configured the replication job, click Save Changes. You can configure any number of jobs to manage the replication of your Elasticsearch data to Google BigQuery.