amazon-emr-with-delta-lake
amazon-emr-with-delta-lake copied to clipboard
Amazon EMR Notebook to show how to read from and write to Delta tables with Amazon EMR
Deltalake with Amazon EMR
This guide helps you quickly explore the main features of Delta Lake.
It provides code snippets that show how to read from and write to Delta tables with Amazon EMR.
For more details, check this video, "Incremental Data Processing using Delta Lake with EMR"
Quickstart
- Create s3 bucket for delta lake (e.g.
learn-deltalake-2022) - Create an EMR Cluster using AWS CDK (Check details in instructions)
- Create an EMR Studio using AWS CDK (Check details in instructions)
- Open the Amazon EMR console at https://console.aws.amazon.com/elasticmapreduce/
- Open the EMR Studio and create an EMR Studio Workspace
- Launch the EMR Studio Workspace
- Attach the EMR Cluster to a Jupyter Notebook
- Upload
deltalake-with-emr-demo.ipynbinto the Jupyter Notebook - Set kernel to PySpark, and Run each cells
- For running Amazon Athena queries on Delta Lake, Check this
Key Configurations
-
Amazon EMR Applications
- Hadoop
- Hive
- JupyterHub
- JupyterEnterpriseGateway
- Livy
- Apache Spark (>= 3.0)
-
Apache Spark (PySpark)
{ "conf": { "spark.jars.packages": "io.delta:delta-core_2.12:{version}", "spark.sql.extensions": "io.delta.sql.DeltasparkSessionExtension", "spark.sql.catalog.spark_catalog": "org.apache.spark.sql.delta.catalog.DeltaCatalog", } }- :warning: YOU MUST REPLACE {version} with the appropriate one
- For more details, check this
Compatibility with Apache Spark
:information_source: The following table lists are lastly updated on 26 Aug 2022
| Delta lake version | Apache Spark version |
|---|---|
| 2.0.x | 3.2.x |
| 1.2.x | 3.2.x |
| 1.1.x | 3.2.x |
| 1.0.x | 3.1.x |
| 0.7.x and 0.8.x | 3.0.x |
| Below 0.7.x | 2.4.2 - 2.4.<latest> |
- More infomration at: Delta Lake releases
References
- (video) Incremental Data Processing using Delta Lake with EMR
- (video) DBT + Spark/EMR + Delta Lake/S3
- An Introduction to Modern Data Lake Storage Layers (2022-02-22)
- Compatibility with Apache Spark
- Application versions in Amazon EMR 6.x releases
- Application versions in Amazon EMR 5.x releases
- Delta Lake releases
- Delta Core Maven Repository
- Set up Apache Spark with Delta Lake
- Presto and Athena to Delta Lake integration
- Redshift Spectrum to Delta Lake integration
- Support for automatic and incremental Presto/Athena manifest generation (#453)
Security
See CONTRIBUTING for more information.
License
This library is licensed under the MIT-0 License. See the LICENSE file.