All Projects → jgperrin → net.jgp.books.spark.ch07

jgperrin / net.jgp.books.spark.ch07

Licence: Apache-2.0 license
Spark in Action, 2nd edition - chapter 7 - Ingestion from files

Programming Languages

java
68154 projects - #9 most used programming language
scala
5932 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to net.jgp.books.spark.ch07

net.jgp.books.spark.ch01
Spark in Action, 2nd edition - chapter 1 - Introduction
Stars: ✭ 72 (+453.85%)
Mutual labels:  apache-spark, manning, sparkwithjava
SANSA-Stack
Big Data RDF Processing and Analytics Stack built on Apache Spark and Apache Jena http://sansa-stack.github.io/SANSA-Stack/
Stars: ✭ 130 (+900%)
Mutual labels:  apache-spark
isarn-sketches-spark
Routines and data structures for using isarn-sketches idiomatically in Apache Spark
Stars: ✭ 28 (+115.38%)
Mutual labels:  apache-spark
spark-twitter-sentiment-analysis
Sentiment Analysis of a Twitter Topic with Spark Structured Streaming
Stars: ✭ 55 (+323.08%)
Mutual labels:  apache-spark
fink-broker
Astronomy Broker based on Apache Spark
Stars: ✭ 18 (+38.46%)
Mutual labels:  apache-spark
proxima-platform
The Proxima platform.
Stars: ✭ 17 (+30.77%)
Mutual labels:  apache-spark
spark-connector
A connector for Apache Spark to access Exasol
Stars: ✭ 13 (+0%)
Mutual labels:  apache-spark
datalake-etl-pipeline
Simplified ETL process in Hadoop using Apache Spark. Has complete ETL pipeline for datalake. SparkSession extensions, DataFrame validation, Column extensions, SQL functions, and DataFrame transformations
Stars: ✭ 39 (+200%)
Mutual labels:  apache-spark
osm-parquetizer
A converter for the OSM PBFs to Parquet files
Stars: ✭ 71 (+446.15%)
Mutual labels:  apache-spark
streamsx.kafka
Repository for integration with Apache Kafka
Stars: ✭ 13 (+0%)
Mutual labels:  apache-spark
learn-by-examples
Real-world Spark pipelines examples
Stars: ✭ 84 (+546.15%)
Mutual labels:  apache-spark
book-source-code
Accompanying source code for Istio in Action (Manning)
Stars: ✭ 175 (+1246.15%)
Mutual labels:  manning
learning-hadoop-and-spark
Companion to Learning Hadoop and Learning Spark courses on Linked In Learning
Stars: ✭ 146 (+1023.08%)
Mutual labels:  apache-spark
listings
Code listings for Modern Fortran: Building Efficient Parallel Applications
Stars: ✭ 36 (+176.92%)
Mutual labels:  manning
geospark
bring sf to spark in production
Stars: ✭ 53 (+307.69%)
Mutual labels:  apache-spark
spark3D
Spark extension for processing large-scale 3D data sets: Astrophysics, High Energy Physics, Meteorology, …
Stars: ✭ 23 (+76.92%)
Mutual labels:  apache-spark
Location-based-Restaurants-Recommendation-System
Big Data Management and Analysis Final Project
Stars: ✭ 44 (+238.46%)
Mutual labels:  apache-spark
awesome-tools
curated list of awesome tools and libraries for specific domains
Stars: ✭ 31 (+138.46%)
Mutual labels:  apache-spark
Sparkora
Powerful rapid automatic EDA and feature engineering library with a very easy to use API 🌟
Stars: ✭ 51 (+292.31%)
Mutual labels:  apache-spark
gan deeplearning4j
Automatic feature engineering using Generative Adversarial Networks using Deeplearning4j and Apache Spark.
Stars: ✭ 19 (+46.15%)
Mutual labels:  apache-spark

The examples in this repository are support to the Spark in Action, 2nd edition book by Jean-Georges Perrin and published by Manning. Find out more about the book on Manning's website.

Spark in Action, 2nd edition - chapter 7

Welcome to Spark in Action, 2nd edition, chapter 7. This chapter covers file ingestion from CSV, JSON, XML, text, and more.

This code is designed to work with Apache Spark v3.1.2.

Labs

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.

Lab #200

The ComplexCsvToDataframeApp application does the following:

  1. It acquires a session (a SparkSession).
  2. It asks Spark to load (ingest) a dataset in CSV format.
  3. It demonstrates how to add input options for the underlying data source.

Lab #201

Based on lab #200, illustrates the push down filter().

This lab is not described in the Spark in Action, 2nd edition. It was added in July 2020.

Lab #300

TBD

Lab #400

TBD

Lab #401

TBD

Lab #500

TBD

Lab #501

TBD

Lab #600

The XmlToDataframeApp application reads an XML file and displays its content and schema. Updated to use Spark-XML v0.12.0.

Lab #700

TBD

Lab #910

TBD

Lab #920

TBD

Lab #930

TBD

Lab #990

TBD

Lab #991

Based on video game sales prior to 2016, dataset from Kaggle (https://www.kaggle.com/gregorut/videogamesales).

This lab is not described in the Spark in Action, 2nd edition. It was added in July 2020.

Running the labs

Java

For information on running the Java lab, see chapter 1 in Spark in Action, 2nd edition.

PySpark

You will need:

  • git.
  • Apache Spark (please refer Appendix P - "Spark in production: installation and a few tips").

Step by step direction for lab #200. You will need to adapt some steps for the other labs.

  1. Clone this project

    git clone https://github.com/jgperrin/net.jgp.books.spark.ch07

  2. Go to the lab in the Python directory

    cd net.jgp.books.spark.ch07/src/main/python/lab200_csv_ingestion/

  3. Execute the following spark-submit command to create a jar file to our this application

    spark-submit complexCsvToDataframeApp.py

Scala

You will need:

  • git.
  • Apache Spark (please refer Appendix P - "Spark in production: installation and a few tips").

Step by step direction for lab #200. You will need to adapt some steps for the other labs.

  1. Clone this project

    git clone https://github.com/jgperrin/net.jgp.books.spark.ch07

  2. Go to the right directory

    cd net.jgp.books.spark.ch07

  3. Package application using sbt command

    sbt clean assembly

  4. Run Spark/Scala application using spark-submit command as shown below:

    spark-submit --class net.jgp.books.spark.ch07.lab200_csv_ingestion.ComplexCsvToDataframeScalaApp target/scala-2.12/SparkInAction2-Chapter07-assembly-1.0.0.jar

News

  1. [2020-06-07] Updated the pom.xml to support Apache Spark v3.1.2.
  2. [2020-06-07] As we celebrate the first anniversary of Spark in Action, 2nd edition is the best-rated Apache Spark book on Amazon.

Notes

  1. [Java] Due to renaming the packages to match more closely Java standards, this project is not in sync with the book's MEAP prior to v10 (published in April 2019).
  2. [Scala, Python] As of MEAP v14, we have introduced Scala and Python examples (published in October 2019).
  3. Erratas and additional examples are added and the labs may slightly differ from the once in the book (update in July 2020).
  4. The master branch contains the last version of the code running against the latest supported version of Apache Spark. Look in specifics branches for specific versions.

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 Book site.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].