jgperrin /
net.jgp.books.spark.ch01
Spark in Action, 2nd edition - chapter 1 - Introduction
Loading repository data…
jgperrin / repository
Spark in Action, 2nd edition - chapter 2
This repository contains the Java labs as well as their Scala and Python ports of the code used in Manning Publication’s Spark in Action, 2nd edition, by Jean-Georges Perrin.
Welcome to Spark in Action, 2nd edition, chapter 2. As we are building our mental model around Spark processing, we need a small but efficient example that does a whole flow (or data pipeline).
This code is designed to work with Apache Spark v3.1.2.
Each chapter has one or more labs. Labs are examples used for teaching in the book. You are encouraged to take ownership of the code and modify it, experiment with it, hence the use of the term lab.
The CsvToDatabaseApp application does the following:
SparkSession).To create the PostgreSQL database, you can use the following SQL commands:
CREATE ROLE jgp WITH
LOGIN
NOSUPERUSER
NOCREATEDB
NOCREATEROLE
INHERIT
NOREPLICATION
CONNECTION LIMIT -1
PASSWORD 'Spark<3Java';
CREATE DATABASE spark_labs
WITH
OWNER = jgp
ENCODING = 'UTF8'
CONNECTION LIMIT = -1;
The CsvToApacheDerbyApp application is similar to lab #100, however, instead of using PostgreSQL, it uses Apache Derby.
Special thanks to Kelvin Rawls for porting the code to Derby.
Apache Derby has a bit of a special place in my heart. Originally named Cloudscape, the eponym company was acquired by Informix in 1999, which was itself acquired by IBM in 2001. Informix's project Arrowhead had the ambition to align the SQL (and other features) between all their databases. Under the new ownership, Cloudscape was influenced by the Db2 SQL before going to the Open Source community as Apache Derby.
For information on running the Java lab, see chapter 2 in Spark in Action, 2nd edition.
Prerequisites:
You will need:
git.Clone this project
git clone https://github.com/jgperrin/net.jgp.books.spark.ch02
Go to the lab in the Python directory
cd net.jgp.books.spark.ch02/src/main/python/lab100_csv_to_db/
Execute the following spark-submit command to create a jar file to our this application
spark-submit csvToRelationalDatabaseApp.py
Prerequisites:
You will need:
git.Clone this project
git clone https://github.com/jgperrin/net.jgp.books.spark.ch02
Go to the correct directory:
cd net.jgp.books.spark.ch02
Package application using sbt command
sbt clean assembly
Run Spark/Scala application using spark-submit command as shown below:
spark-submit --class net.jgp.books.spark.ch02.lab100_csv_to_db.CsvToRelationalDatabaseScalaApp target/scala-2.12/SparkInAction2-Chapter02-assembly-1.0.0.jar
Follow me on Twitter to get updates about the book and Apache Spark: @jgperrin. Join the book's community on Facebook or in Manning's live site.
Selected from shared topics, language and repository description—not editorial ratings.
jgperrin /
Spark in Action, 2nd edition - chapter 1 - Introduction
jgperrin /
Spark in Action, 2nd edition - chapter 3
jgperrin /
Spark in Action, 2nd edition - chapter 7 - Ingestion from files
jgperrin /
Spark in Action, 2nd edition - chapter 8
jgperrin /
Spark in Action, 2e - chapter 9 - Advanced ingestion: finding data sources and building your own
jgperrin /
Spark in Action, 2nd edition - chapter 5 - Deployment