Skip to main content

Dataproc client library for Spark Connect

Project description

# Dataproc Spark Connect Client

A wrapper of the Apache [Spark Connect](https://spark.apache.org/spark-connect/) client with additional functionalities that allow applications to communicate with a remote Dataproc Spark Session using the Spark Connect protocol without requiring additional steps.

## Install

`sh pip install dataproc_spark_connect `

## Uninstall

`sh pip uninstall dataproc_spark_connect `

## Setup

This client requires permissions to manage [Dataproc Sessions and Session Templates](https://cloud.google.com/dataproc-serverless/docs/concepts/iam). If you are running the client outside of Google Cloud, you must set following environment variables:

## Usage

  1. Install the latest version of Dataproc Python client and Dataproc Spark Connect modules:

    `sh pip install google_cloud_dataproc dataproc_spark_connect --force-reinstall `

  2. Add the required imports into your PySpark application or notebook and start a Spark session with the following code instead of using environment variables:

    `python from google.cloud.dataproc_spark_connect import DataprocSparkSession from google.cloud.dataproc_v1 import Session session_config = Session() session_config.environment_config.execution_config.subnetwork_uri = '<subnet>' session_config.runtime_config.version = '2.2' spark = DataprocSparkSession.builder.dataprocSessionConfig(session_config).getOrCreate() `

### Using Spark SQL Magic Commands (Jupyter Notebooks)

The package supports the [sparksql-magic](https://github.com/cryeo/sparksql-magic) library for executing Spark SQL queries directly in Jupyter notebooks.

Installation: To use magic commands, install the required dependencies manually: `bash pip install dataproc-spark-connect pip install IPython sparksql-magic `

  1. Load the magic extension: `python %load_ext sparksql_magic `

  2. Configure default settings (optional): `python %config SparkSql.limit=20 `

  3. Execute SQL queries: `python %%sparksql SELECT * FROM your_table `

  4. Advanced usage with options: `python # Cache results and create a view %%sparksql --cache --view result_view df SELECT * FROM your_table WHERE condition = true `

Available options: - –cache / -c: Cache the DataFrame - –eager / -e: Cache with eager loading - –view VIEW / -v VIEW: Create a temporary view - –limit N / -l N: Override default row display limit - variable_name: Store result in a variable

See [sparksql-magic](https://github.com/cryeo/sparksql-magic) for more examples.

Note: Magic commands are optional. If you only need basic DataprocSparkSession functionality without Jupyter magic support, install only the base package: `bash pip install dataproc-spark-connect `

## Developing

For development instructions see [guide](DEVELOPING.md).

## Contributing

We’d love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.

### Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project. Head over to <https://cla.developers.google.com> to see your current agreements on file or to sign a new one.

You generally only need to submit a CLA once, so if you’ve already submitted one (even if it was for a different project), you probably don’t need to do it again.

### Code reviews

All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more information on using pull requests.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dataproc_spark_connect-1.0.0rc6.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dataproc_spark_connect-1.0.0rc6-py2.py3-none-any.whl (29.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file dataproc_spark_connect-1.0.0rc6.tar.gz.

File metadata

File hashes

Hashes for dataproc_spark_connect-1.0.0rc6.tar.gz
Algorithm Hash digest
SHA256 235b82e660ef18e50499ee157b54a23a4d3abd6cab3acaacbec5959404d90c12
MD5 c6be584a9da581ec273ef1beea37c524
BLAKE2b-256 058166dcc4537f1963cb5fddc1f22907d4415c4e72465e022e4c2c60dba741fd

See more details on using hashes here.

File details

Details for the file dataproc_spark_connect-1.0.0rc6-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for dataproc_spark_connect-1.0.0rc6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a40e1ab5e30deada341c3f0c16faf1fe9ee8c773c130d08383a1d57dce8995bd
MD5 c91dad843ad6d6d756ceab85dd33ba0d
BLAKE2b-256 19b58f0b40fff870041639e9dd2f6fc933bdc7d16c319aa219ab7e6e4190b1f5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page