Skip to main content

aws-glue-libs

This repository supports python libraries for local development of glue pyspark batch jobs. Glue streaming is supported in the separate repository aws-glue-streaming-libs.

Contents

This repository contains:

  • awsglue - the Python libary you can use to author AWS Glue ETL job. This library extends Apache Spark with additional data types and operations for ETL workflows. It's an interface for Glue ETL library in Python.
  • bin - this directory hosts several executables that allow you to run the Python library locally or open up a PySpark shell to run Glue Spark code interactively.

Python versions by Glue Version

Different Glue versions support different Python versions. The following table below is for your reference, which also includes the associated repository's branch for each glue version.

Glue Version Python 3 Version aws-glue-libs branch
2.0 3.7 glue-2.0
3.0 3.7 glue-3.0
4.0 3.10 glue-4.0
5.0 3.11 glue-5.0
5.1 3.11 main

You may refer to AWS Glue's official release notes for more information

Setup guide

If you haven't already, please refer to the official AWS Glue Python local development documentation for the official setup documentation. The following is a summary of the AWS documentation:

The awsglue library provides only the Python interface to the Glue Spark runtime, you need the Glue ETL jar to run it locally. The jar is now available via the maven build system in a s3 backed maven repository. Here are the steps to set up your dev environment locally.

  1. install Apache Maven from the following location: https://aws-glue-etl-artifacts.s3.amazonaws.com/glue-common/apache-maven-3.6.0-bin.tar.gz
  2. use copy-dependencies target in Apache Maven to download the jar from S3 to your local dev environment.
  3. download and extract the Apache Spark distribution based on the Glue version you're using:
    • Glue version 2.0: https://aws-glue-etl-artifacts.s3.amazonaws.com/glue-2.0/spark-2.4.3-bin-hadoop2.8.tgz1
    • Glue version 3.0: https://aws-glue-etl-artifacts.s3.amazonaws.com/glue-3.0/spark-3.1.1-amzn-0-bin-3.2.1-amzn-3.tgz
    • Glue version 4.0: https://aws-glue-etl-artifacts.s3.amazonaws.com/glue-4.0/spark-3.3.0-amzn-1-bin-3.3.3-amzn-0.tgz
    • Glue version 5.0: download the Apache Spark 3.5.4 distribution from https://spark.apache.org
    • Glue version 5.1: download the Apache Spark 3.5.6 distribution from https://spark.apache.org
  4. export the SPARK_HOME environmental variable to the extracted location of the above Spark distribution. For example:
    Glue version 2.0: export SPARK_HOME=/home/$USER/spark-2.4.3-bin-hadoop2.8
    Glue version 3.0: export SPARK_HOME=/home/$USER/spark-3.1.1-amzn-0-bin-3.2.1-amzn-3
    Glue version 4.0: export SPARK_HOME=/home/$USER/spark-3.3.0-amzn-1-bin-3.3.3-amzn-0
    Glue version 5.0: export SPARK_HOME=/home/$USER/spark-3.5.4-bin-hadoop3
    Glue version 5.1: export SPARK_HOME=/home/$USER/spark-3.5.6-bin-hadoop3
    
  5. now you can run the executables in the bin directory to start a Glue Shell or submit a Glue Spark application.
    Glue shell: ./bin/gluepyspark
    Glue submit: ./bin/gluesparksubmit
    pytest: ./bin/gluepytest
    

(The gluepytest script assumes that the pytest module is installed and available in the PATH env variable)

Licensing

The libraries in this repository licensed under the Amazon Software License (the "License"). They may not be used except in compliance with the License, a copy of which is included here in the LICENSE file.


Release Notes

July 26 2023

August 27 2021

  • The master branch has been modified from representing Glue 0.9 to Glue 3.0, we have also created a glue-0.9 branch to reflect the former state of the master branch with Glue 0.9. To rename your local clone of the older master branch and point to the glue-0.9 branch, you may use the following commands:
git branch -m master glue-0.9
git fetch origin
git branch -u origin/glue-0.9 glue-0.9
git remote set-head origin -a

Download files

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

Source Distribution

awsgluedataplanepython-5.1.0.tar.gz (95.9 kB view details)

Uploaded Source

Built Distribution

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

awsgluedataplanepython-5.1.0-py3-none-any.whl (73.2 kB view details)

Uploaded Python 3

File details

Details for the file awsgluedataplanepython-5.1.0.tar.gz.

File metadata

  • Download URL: awsgluedataplanepython-5.1.0.tar.gz
  • Upload date:
  • Size: 95.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for awsgluedataplanepython-5.1.0.tar.gz
Algorithm Hash digest
SHA256 c1c1241075345e438d5705692e129d09c59ac6193f2ec6df4d541ea9b9c888ff
MD5 1d7255a14f929cd50fbb75c9787fd25a
BLAKE2b-256 fc6af4d510b8a1c8e3f1515b76269f7c673d434159d172f749d379aeebf1ce14

See more details on using hashes here.

Provenance

The following attestation bundles were made for awsgluedataplanepython-5.1.0.tar.gz:

Publisher: publish.yml on awslabs/aws-glue-libs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file awsgluedataplanepython-5.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for awsgluedataplanepython-5.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 05d05e61e653aea4e39ad6ab8b278731d782c152ff64a2775c33a678f0edbd06
MD5 2fddcc5c817b9ccdb956476b2334ac98
BLAKE2b-256 ce524fd8f13d2c5e647d919fd48d96093ad39b06fea0bb5f3c7588067de08951

See more details on using hashes here.

Provenance

The following attestation bundles were made for awsgluedataplanepython-5.1.0-py3-none-any.whl:

Publisher: publish.yml on awslabs/aws-glue-libs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

6.0.0

2 files

This release

5.1.0 This release

2 files

5.0.0

2 files

0.0.2

1 file

0.0.1

1 file

Supported by

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