Google client library for Spark Connect
Project description
# Google 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 cluster using the Spark Connect protocol without requiring additional steps.
## Install
pip install google_spark_connect
## Uninstall
pip uninstall google_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:
GOOGLE_CLOUD_PROJECT - The Google Cloud project you use to run Spark workloads
GOOGLE_CLOUD_REGION - The Compute Engine [region](https://cloud.google.com/compute/docs/regions-zones#available) where you run the Spark workload.
GOOGLE_APPLICATION_CREDENTIALS - Your [Application Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc)
DATAPROC_SPARK_CONNECT_SESSION_DEFAULT_CONFIG (Optional) - The config location, such as tests/integration/resources/session.textproto
## Usage
Install the latest version of Dataproc Python client and Google Spark Connect modules:
pip install google_cloud_dataproc --force-reinstall pip install google_spark_connect --force-reinstallAdd the required import into your PySpark application or notebook:
from google.cloud.spark_connect import GoogleSparkSessionThere are two ways to create a spark session,
Start a Spark session using properties defined in DATAPROC_SPARK_CONNECT_SESSION_DEFAULT_CONFIG:
spark = GoogleSparkSession.builder.getOrCreate()Start a Spark session with the following code instead of using a config file:
from google.cloud.dataproc_v1 import SparkConnectConfig from google.cloud.dataproc_v1 import Session google_session_config = Session() google_session_config.spark_connect_session = SparkConnectConfig() google_session_config.environment_config.execution_config.subnetwork_uri = "<subnet>" google_session_config.runtime_config.version = '3.0' spark = GoogleSparkSession.builder.googleSessionConfig(google_session_config).getOrCreate()
## Billing As this client runs the spark workload on Dataproc, your project will be billed as per [Dataproc Serverless Pricing](https://cloud.google.com/dataproc-serverless/pricing). This will happen even if you are running the client from a non-GCE instance.
## Contributing ### Building and Deploying SDK
Install the requirements in virtual environment.
pip install -r requirements.txtBuild the code.
python setup.py sdist bdist_wheelCopy the generated .whl file to Cloud Storage. Use the version specified in the setup.py file.
VERSION=<version> gsutil cp dist/google_spark_connect-${VERSION}-py2.py3-none-any.whl gs://<your_bucket_name>Download the new SDK on Vertex, then uninstall the old version and install the new one.
%%bash export VERSION=<version> gsutil cp gs://<your_bucket_name>/google_spark_connect-${VERSION}-py2.py3-none-any.whl . yes | pip uninstall google_spark_connect pip install google_spark_connect-${VERSION}-py2.py3-none-any.whl
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file google_spark_connect-0.5.4.tar.gz.
File metadata
- Download URL: google_spark_connect-0.5.4.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8615f34ed9f8212939382551f617ec3f3210cc8208d8d599d52b841cdc65b5e4
|
|
| MD5 |
a55655138038830fde1fe399360d14f9
|
|
| BLAKE2b-256 |
aaf29c71c191f31f36bf955fd417a46bc3e2a4a4f9f34f2904b7cdd6e8ed4b8a
|
File details
Details for the file google_spark_connect-0.5.4-py2.py3-none-any.whl.
File metadata
- Download URL: google_spark_connect-0.5.4-py2.py3-none-any.whl
- Upload date:
- Size: 19.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4e97c27bd404fea847c639801ff18bbf704b8e9337ed2a143a3465b2744d244
|
|
| MD5 |
c85973d55c54e24fbe35b1310da4e441
|
|
| BLAKE2b-256 |
3e50c21bd8350d7fda5b0b7b544af57b6f2dee87d25463c830bbe6719e33ca28
|