Back to source plugin

Export from GitHub to Databricks

CloudQuery is an open-source data integration platform that allows you to export data from any source to any destination.

The CloudQuery GitHub plugin allows you to sync data from GitHub to any destination, including Databricks. It takes only minutes to get started.

GitHub
github
Official
Premium

GitHub

The CloudQuery GitHub plugin extracts your GitHub API and loads it into any supported CloudQuery destination

Publisher

cloudquery

Latest version

v11.5.1

Type

Source

Platforms
Date Published

databricks
Official

Databricks

Sync your data from any supported CloudQuery source into the Databricks Data Intelligence Platform.

Publisher

cloudquery

Latest version

v1.2.3

Type

Destination

Platforms
Date Published

MacOS Setup

Step 1. Install CloudQuery

brew install cloudquery/tap/cloudquery

Step 2. Log in to CloudQuery CLI

cloudquery login

Step 3. Configure GitHub source plugin

You can find more information about the configuration in the plugin documentation

kind: source
spec:
  # Source spec section
  name: github
  path: cloudquery/github
  registry: cloudquery
  version: "v11.5.1"
  tables: ["github_issues"]
  destinations: ["databricks"]
  # Learn more about the configuration options at https://cql.ink/github_source
  spec:
    access_token: "${GITHUB_PERSONAL_ACCESS_TOKEN}" # Personal Access Token, required if not using App Authentication.
    # # App Authentication (one per org):
    # app_auth:
    # - org: cloudquery
    #   private_key: <PRIVATE_KEY> # Private key as a string
    #   private_key_path: <PATH_TO_PRIVATE_KEY> # Path to private key file
    #   app_id: <YOUR_APP_ID> # App ID, required for App Authentication.
    #   installation_id: <ORG_INSTALLATION_ID> # Installation ID for this org
    # # List of organizations to sync from. You must specify either orgs or repos in the configuration.
    # orgs: []
    # # List of repositories to sync from. The format is `owner/repo` (e.g. `cloudquery/cloudquery`). You must specify either `orgs` or `repos` in the configuration.
    # repos: ["cloudquery/cloudquery"]
    # # GitHub Enterprise
    # # In order to enable GHE you have to provide two urls, the base url of the server and the upload url.
    # # Quote from GitHub's client:
    # #   If the base URL does not have the suffix "/api/v3/", it will be added automatically. If the upload URL does not have the suffix "/api/uploads", it will be added automatically.
    # #   Another important thing is that by default, the GitHub Enterprise URL format should be http(s)://[hostname]/api/v3/ or you will always receive the 406 status code. The upload URL format should be http(s)://[hostname]/api/uploads/"
    # # If you are not configuring against an enterprise server please omit the enterprise configuration bellow
    # enterprise:
    #     base_url: "http(s)://[your-ghe-hostname]/api/v3/"
    #     upload_url: "http(s)://[your-ghe-hostname]/api/uploads/"
    # # Optional parameters
    # concurrency: 1500 # Optional. The best effort maximum number of Go routines to use. Lower this number to reduce memory usage or to avoid hitting GitHub API rate limits. Default 1500.
    # discovery_concurrency: 1 # Optional. Number of concurrent requests to GitHub API during discovery phase. Default 1.
    # include_archived_repos: false # Optional. Include archived repositories in the sync. Default false.
    # local_cache_path: "" # Optional. Path to a local directory that will hold the cache. If set, the plugin will cache the GitHub API responses in this directory. Defaults to an empty string (no cache).

Step 4. Configure Databricks destination plugin

You can find more information about the configuration in the plugin documentation

kind: destination
spec:
  name: "databricks"
  path: "cloudquery/databricks"
  registry: "cloudquery"
  version: "v1.2.3"
  write_mode: "append"
  spec:
    hostname: ${DATABRICKS_HOSTNAME} # optionally it can include protocol like https://abc.cloud.databricks.com
    http_path: ${DATABRICKS_HTTP_PATH} # HTTP path for SQL compute
    staging_path: ${DATABRICKS_STAGING_PATH} # Databricks FileStore or Unity volume path to store temporary files for staging
    auth:
      access_token: ${DATABRICKS_ACCESS_TOKEN}
    # Optional parameters
    # protocol: https
    # port: 443
    # catalog: ""
    # schema: "default"
    # migration_concurrency: 10
    # timeout: 1m
    # batch:
    #   size: 10000
    #   bytes: 5242880 # 5 MiB
    #   timeout: 20s

Step 5. Run Sync

cloudquery sync github.yml databricks.yml

© 2024 CloudQuery, Inc. All rights reserved.