├── Spark - The Definite Guide ├── data │ ├── simple-ml │ │ ├── _SUCCESS │ │ └── DatosNuevos.json │ ├── secret.txt │ ├── customers.csv │ ├── customers.sql │ ├── transactions.csv │ ├── test │ │ └── part-r-00000-f5c243b9-a015-4a3b-a4a8-eca00f80f04c.json │ └── 2015-summary.json ├── assets │ ├── youtube.png │ ├── banner_main.png │ ├── banner_session_10.png │ ├── banner_session_11.png │ ├── banner_session_12.png │ ├── banner_session_13.png │ ├── banner_session_14.png │ ├── banner_session_15.png │ ├── banner_session_16.png │ ├── banner_session_17.png │ ├── banner_session_18.png │ ├── banner_session_19.png │ ├── banner_session_20.png │ ├── banner_session_21.png │ ├── banner_session_22.png │ ├── banner_session_23.png │ ├── banner_session_24.png │ ├── banner_session_5.png │ ├── banner_session_6.png │ ├── banner_session_7.png │ ├── banner_session_8.png │ └── banner_session_9.png ├── sessions │ ├── session_18 │ │ ├── assets │ │ │ ├── 1.png │ │ │ ├── 2.png │ │ │ ├── 3.png │ │ │ ├── 4.png │ │ │ ├── 5.png │ │ │ └── 6.png │ │ └── README.md │ ├── session_20 │ │ ├── assets │ │ │ ├── 1.png │ │ │ ├── 2.png │ │ │ └── 3.jpg │ │ └── README.md │ ├── session_8 │ │ ├── assets │ │ │ ├── anti.png │ │ │ ├── inner.png │ │ │ ├── outer.png │ │ │ └── semi.png │ │ └── README.md │ ├── session_10 │ │ └── README.md │ ├── session_19 │ │ └── README.md │ ├── session_22 │ │ └── README.md │ ├── session_24 │ │ └── README.md │ ├── session_6 │ │ ├── README.md │ │ └── chapter6.scala │ ├── session_11 │ │ └── README.md │ ├── session_13 │ │ └── README.md │ ├── session_15 │ │ └── README.md │ ├── session_7 │ │ └── README.md │ ├── session_21 │ │ ├── README.md │ │ └── sample_movielens_ratings.txt │ ├── session_23 │ │ ├── README.md │ │ └── Spark-Chapter_30.scala │ ├── session_14 │ │ └── README.md │ ├── session_5 │ │ ├── README.md │ │ ├── index.html │ │ └── basic_structured_operation.scala │ ├── session_9 │ │ └── README.md │ ├── session_12 │ │ └── README.md │ ├── session_16 │ │ ├── README.md │ │ └── Text Preprocessing and Feature Extraction.ipynb │ └── session_17 │ │ └── README.md └── README.md ├── Databricks Certified Associate ├── .directory ├── Spark dd8609c5ca3041bb89b503bc314efe53 │ ├── Untitled.png │ ├── Untitled 1.png │ ├── Databricks 16b513dab9164637bb0c8f7f9f7d0013 │ │ ├── Untitled.png │ │ ├── Untitled 1.png │ │ ├── Databricks Certified Associate Developer for Apach bae0f257766344c282eecb4ede50892f │ │ │ ├── Untitled.png │ │ │ ├── Untitled 1.png │ │ │ └── Untitled 2.png │ │ └── Databricks Certified Associate Developer for Apach bae0f257766344c282eecb4ede50892f.md │ └── Databricks 16b513dab9164637bb0c8f7f9f7d0013.md └── README.md ├── .gitignore └── README.md /Spark - The Definite Guide/data/simple-ml/_SUCCESS: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/data/secret.txt: -------------------------------------------------------------------------------- 1 | root 2 | secret -------------------------------------------------------------------------------- /Databricks Certified Associate/.directory: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Icon=certificate-server 3 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/youtube.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_main.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_10.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_11.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_12.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_13.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_14.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_15.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_16.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_17.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_18.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_19.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_20.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_21.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_22.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_23.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_24.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_5.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_6.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_7.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_8.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/assets/banner_session_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/assets/banner_session_9.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_18/assets/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/sessions/session_18/assets/1.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_18/assets/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/sessions/session_18/assets/2.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_18/assets/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/sessions/session_18/assets/3.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_18/assets/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/sessions/session_18/assets/4.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_18/assets/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/sessions/session_18/assets/5.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_18/assets/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/sessions/session_18/assets/6.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_20/assets/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/sessions/session_20/assets/1.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_20/assets/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/sessions/session_20/assets/2.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_20/assets/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/sessions/session_20/assets/3.jpg -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_8/assets/anti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/sessions/session_8/assets/anti.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_8/assets/inner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/sessions/session_8/assets/inner.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_8/assets/outer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/sessions/session_8/assets/outer.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_8/assets/semi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Spark - The Definite Guide/sessions/session_8/assets/semi.png -------------------------------------------------------------------------------- /Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Untitled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Untitled.png -------------------------------------------------------------------------------- /Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Untitled 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Untitled 1.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/data/customers.csv: -------------------------------------------------------------------------------- 1 | Id,CustomerType,FirstName,MiddleName,LastName 2 | 12,Diamond,Elena,,Moore 3 | 13,Bronze,Paul,Williams,Page 4 | 14,Bronze,Albert,,Thomas 5 | 15,Bronze,Sandra,Elizabeth,Faith 6 | 16,Gold,Robert,,Alexander 7 | -------------------------------------------------------------------------------- /Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Databricks 16b513dab9164637bb0c8f7f9f7d0013/Untitled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Databricks 16b513dab9164637bb0c8f7f9f7d0013/Untitled.png -------------------------------------------------------------------------------- /Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Databricks 16b513dab9164637bb0c8f7f9f7d0013/Untitled 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Databricks 16b513dab9164637bb0c8f7f9f7d0013/Untitled 1.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/data/simple-ml/DatosNuevos.json: -------------------------------------------------------------------------------- 1 | {"color":"green","value1":9, "value2":10.433, "lab":"good"} 2 | {"color":"blue","value1":8, "value2":17.3423, "lab":"bad"} 3 | {"color":"red","value1":40, "value2":11.876, "lab":"good"} 4 | {"color":"red","value1":7, "value2":7.6, "lab":"bad"} 5 | {"color":"blue","value1":2, "value2":8.213, "lab":"good"} -------------------------------------------------------------------------------- /Spark - The Definite Guide/data/customers.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE customers (Id INT PRIMARY KEY, CustomerType VARCHAR(10), Firstname VARCHAR(20), MiddleName VARCHAR(20), LastName VARCHAR(20)); 2 | INSERT INTO customers VALUES 3 | (12,'Diamond','Elena',,'Moore'), 4 | (13,'Bronze','Paul','Williams','Page'); 5 | (14,'Bronze','Albert',,'Thomas'); 6 | (15,'Bronze','Sandra','Elizabeth','Faith'); 7 | (16,'Gold','Robert',,'Alexander'); -------------------------------------------------------------------------------- /Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Databricks 16b513dab9164637bb0c8f7f9f7d0013/Databricks Certified Associate Developer for Apach bae0f257766344c282eecb4ede50892f/Untitled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Databricks 16b513dab9164637bb0c8f7f9f7d0013/Databricks Certified Associate Developer for Apach bae0f257766344c282eecb4ede50892f/Untitled.png -------------------------------------------------------------------------------- /Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Databricks 16b513dab9164637bb0c8f7f9f7d0013/Databricks Certified Associate Developer for Apach bae0f257766344c282eecb4ede50892f/Untitled 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Databricks 16b513dab9164637bb0c8f7f9f7d0013/Databricks Certified Associate Developer for Apach bae0f257766344c282eecb4ede50892f/Untitled 1.png -------------------------------------------------------------------------------- /Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Databricks 16b513dab9164637bb0c8f7f9f7d0013/Databricks Certified Associate Developer for Apach bae0f257766344c282eecb4ede50892f/Untitled 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataEngineering-LATAM/Spark-StudyClub/HEAD/Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Databricks 16b513dab9164637bb0c8f7f9f7d0013/Databricks Certified Associate Developer for Apach bae0f257766344c282eecb4ede50892f/Untitled 2.png -------------------------------------------------------------------------------- /Spark - The Definite Guide/data/transactions.csv: -------------------------------------------------------------------------------- 1 | TransactionId,CustomerID,Merchant,Product,TotalAmount,Date 2 | 1,14,amazon.com.uk,[shirt,shoes],150,2021-04-08 3 | 2,12,marksandspencer.com,[short,shirt],50,2021-04-08 4 | 3,14,amazon.com.uk,[smartphone,charger],450,2021-04-09 5 | 4,12,tesco.com,[fruits,meat,wholegrains],75,2021-04-09 6 | 5,13,apple.com.uk,[charger,headphone],120,2021-04-09 7 | 6,15,e.leclerc,[smartphone],550,2021-04-10 8 | 7,14,zalando.com,[shoes],45,2021-04-11 9 | 8,13,zalando.com,[handbag,jumpsuit],250,2021-04-13 10 | 9,15,amazon.com,[books],50,2021-04-13 11 | 10,12,amazon.com,[necklaces,boots],350,2021-04-13 12 | 11,14,amazon.com.uk,[desktop],850,2021-04-14 13 | 12,15,e.leclerc,[smartphone],450,2021-04-14 14 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_10/README.md: -------------------------------------------------------------------------------- 1 | ## Session 10 2 | ### Chapters 11,12,13 & 14 - Datasets and Resilient Distributed Datasets (RDDs) 3 | 4 |  5 | 6 | ### Resumen 7 | Durante esta sesión conocimos a la API denominada Dataset, antes de profundizarnos respecto a la estructura de datos central de Apache Spark: el Resilient Distributed Dataset (RDD) 8 | 9 | #### Grabación de la sesión 10 | 11 | [](https://www.youtube.com/watch?v=oND_jxWRtjo) 12 | 13 | #### Nuestras redes sociales 14 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 15 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 16 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 17 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 18 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_19/README.md: -------------------------------------------------------------------------------- 1 | ## Session 19 - Modelos de regresión con Spark Machine Learning 2 | ### Chapter 27 - Regression 3 | 4 |  5 | 6 | ### Resumen 7 | En esta sesión, seguiremos estudiando los módulos del MLlib para resolver los problemas de aprendizaje automático en Apache Spark. Nos acercaremos a los modelos de regresión y exploraremos los hiperparámetros comúnmente ajustados. 8 | 9 | #### Grabación de la sesión 10 | [](https://www.youtube.com/watch?v=mHfXzC0OG4U) 11 | 12 | 13 | #### Nuestras redes sociales 14 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 15 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 16 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 17 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 18 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_22/README.md: -------------------------------------------------------------------------------- 1 | ## Session 22 - Modelos de aprendizaje no supervisado con Spark Machine Learning 2 | ### Chapter 29 - Unsupervised Learning 3 | 4 |  5 | 6 | ### Resumen 7 | Estaremos estudiando una vez más los modelos del MLlib de Apache Spark para resolver problemas de machine learning. Ahora, exploraremos las herramientas disponibles para el aprendizaje no supervisado, enfocándonos especificamente en el clustering, y veremos los desafíos de entrenar estos modelos en un entorno de computación distribuído. 8 | 9 | #### Grabación de la sesión 10 | Pendiente 11 | 12 | #### Nuestras redes sociales 13 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 14 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 15 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 16 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 17 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_24/README.md: -------------------------------------------------------------------------------- 1 | ## Session 24 - Deep Learning en Apache Spark 2 | ### Chapter 31 - Deep Learning 3 | 4 |  5 | 6 | ### Resumen 7 | En esta sesión, estudiaremos los modelos de Deep Learning en Apache Spark. Nos familiarizaremos con el Deep Learning, entenderemos su importancia en Apache Spark, exploraremos las librerías más populares y haremos un ejemplo de implementación en un pipeline. 8 | 9 | El notebook que se utilizó durante la sesión se denomina [`SparkDL.ipynb`](SparkDL.ipynb). 10 | 11 | #### Grabación de la sesión 12 | [](https://www.youtube.com/watch?v=WOf-VNnfz60) 13 | 14 | 15 | #### Nuestras redes sociales 16 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 17 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 18 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 19 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 20 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_8/README.md: -------------------------------------------------------------------------------- 1 | ## Session 8 2 | ### Chapter 8 - Joins 3 | 4 |  5 | 6 | ### Resumen 7 | Esta sesión abordó diferentes temas relacionados a las operaciones de joins en Apache Spark, así como las diferentes maneras de optimizarlas. Entre los temas estaban: 8 | 9 | * Join expressions 10 | * Tipos de joins 11 | * Cómo Spark realiza los joins 12 | * Desafíos frecuentes de las operaciones de joins 13 | 14 | Ejemplos de cada uno de los temas fueron ejecutados en un notebook denominado [`Spark Joins.ipynb`](Spark%20Joins.ipynb) 15 | 16 | #### Grabación de la sesión 17 | 18 | [](https://www.youtube.com/watch?v=eiRgXmlkUPI) 19 | 20 | #### Nuestras redes sociales 21 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 22 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 23 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 24 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 25 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_6/README.md: -------------------------------------------------------------------------------- 1 | ## Session 6 - Trabajando con diferentes tipos de datos 2 | ### Chapter 6 - Working with Different Types of Data 3 | 4 |  5 | 6 | ### Resumen 7 | En la sesión anterior, se habló de los conceptos básicos por detrás de los DataFrames. Ahora estudiaremos los diferentes tipos de datos, incluyendo: 8 | 9 | * Booleanos, 10 | * Números, 11 | * Strings, 12 | * Fechas, 13 | * Nulos, 14 | * Complejos, y 15 | * JSON. 16 | 17 | Ejemplos expuestos fueron ejecutados en un notebook (scala) denominado [`chapter6.scala`](chapter6.scala). 18 | 19 | #### Grabación de la sesión 20 | 21 | [](https://www.youtube.com/watch?v=c0gwAFyiD9Q) 22 | 23 | #### Nuestras redes sociales 24 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 25 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 26 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 27 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 28 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_11/README.md: -------------------------------------------------------------------------------- 1 | ## Session 11 2 | ### Part IV - Production Applications (1/2) 3 | 4 |  5 | 6 | *Observación: esta es la primera de dos sesiones sobre Part IV. Production Applications.* 7 | 8 | ### Resumen 9 | Hasta ahora, hemos enfocado en las propiedades de Spark como interfaz de programación. En esta sesión, nos enfocamos en los tópicos relevantes sobre la implementación de aplicaciones en Spark, conociendo la arquitectura, componentes y ciclo de vida de una aplicación, los pasos necesarios para ejecutarlo, cómo desarrollarlo y qué opciones Spark nos ofrece para implementarlo. 10 | 11 | #### Grabación de la sesión 12 | 13 | [](https://www.youtube.com/watch?v=FbwINmuBCrw) 14 | 15 | #### Nuestras redes sociales 16 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 17 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 18 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 19 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 20 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_13/README.md: -------------------------------------------------------------------------------- 1 | ## Session 13 2 | ### Chapters 20 & 21 - Structured Streaming Fundamentals 3 | 4 |  5 | 6 | ### Resumen 7 | En esta sesión, conoceremos las ventajas del procesamiento en streaming y nos introduciremos al tema del Structured Streaming en Apache Spark. El procesamiento en streaming es clave en diversas aplicaciones de Big Data. Apache Spark tiene una larga historia de soporte al procesamiento en streaming. El API de Structured Streaming fue la más reciente incorporación de Apache Spark, que integra las virtudes relacionadas a la facilidad y optimización de las consultas en Spark SQL. 8 | 9 | #### Grabación de la sesión 10 | [](https://www.youtube.com/watch?v=y4DWXnEIgeM) 11 | 12 | #### Nuestras redes sociales 13 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 14 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 15 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 16 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 17 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_15/README.md: -------------------------------------------------------------------------------- 1 | ## Session 15 2 | ### Chapter 24 - Advanced Analytics and Machine Learning Overview 3 | 4 |  5 | 6 | ### Resumen 7 | Más allá del análisis en gran escala con Spark SQL y del procesamiento en streaming con Structured Streaming, Spark también brinda soporte para la analítica avanzada con aprendizaje automático y analítica de grafos en entornos distribuidos. 8 | 9 | El notebook que se utilizó en Databricks para demostrar la construcción de una pipeline de machine learning con Spark ML se encuentra en [`Advanced Analytics - Demo Lab.ipynb`](Advanced%20Analytics%20-%20Demo%20Lab.ipynb). 10 | 11 | #### Grabación de la sesión 12 | [](https://www.youtube.com/watch?v=28T-vSLznsw) 13 | 14 | 15 | #### Nuestras redes sociales 16 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 17 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 18 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 19 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 20 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_7/README.md: -------------------------------------------------------------------------------- 1 | ## Session 7 2 | ### Chapter 7 - Aggregations 3 | 4 |  5 | 6 | ### Resumen 7 | En esta sesión se habló sobre las operaciones de agregación en Spark. Entre los diferentes temas tratados se encontraban: 8 | 9 | * Diferentes funciones de agregación 10 | * Agrupaciones por medio de expresiones o por Maps 11 | * Window Functions 12 | * User-Defined Functions 13 | 14 | Ejemplos de cada uno de los temas fueron ejecutados en un notebook denominado [`Aggregations.ipynb`](Aggregations.ipynb). El conjunto de datos utilizado se encuentra [aquí](https://github.com/databricks/Spark-The-Definitive-Guide/tree/master/data/retail-data/all). 15 | 16 | #### Grabación de la sesión 17 | 18 | [](https://www.youtube.com/watch?v=zh8AHzCfhUY) 19 | 20 | #### Nuestras redes sociales 21 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 22 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 23 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 24 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 25 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_21/README.md: -------------------------------------------------------------------------------- 1 | ## Session 21 - Modelos de recomendación con Spark Machine Learning 2 | ### Chapter 28 - Recomendation 3 | 4 |  5 | 6 | ### Resumen 7 | Seguiremos estudiando los modelos de MLlib para resolver los problemas de aprendizaje automático en Apache Spark. En esta ocasión, revisaremos los modelos de recomendación. Exploraremos los algoritmos disponibles para implementar un sistema de recomendación con el enfoque en la filtración colaborativa. 8 | 9 | El notebook que se utilizó es el [`Recomendation System.scala`](Recomendation%20System.scala). Se utilizó el siguiente conjunto de datos: [`sample_movielens_ratings.txt`](sample_movielens_ratings.txt) 10 | 11 | #### Grabación de la sesión 12 | [](https://www.youtube.com/watch?v=Fpg5AbkzBiM) 13 | 14 | 15 | #### Nuestras redes sociales 16 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 17 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 18 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 19 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 20 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_20/README.md: -------------------------------------------------------------------------------- 1 | ## Session 20 - Modelos de clasificación y ajuste de hiperparámetros con Spark ML 2 | ### Chapter 26 - Classification 3 | 4 |  5 | 6 | ### Resumen 7 | En esta sesión, seguiremos estudiando los modelos de MLlib para resolver los problemas de aprendizaje automático en Apache Spark. Nos acercaremos a los modelos de clasificación y aprenderemos a optimizar nuestros modelos en Spark. 8 | 9 | 10 | El notebook que se utilizó durante la sesión se denomina [`Classification.ipynb`](Classification.ipynb). Los datos utilizados fueron extraídos de: 11 | * [Credit Card customers](https://www.kaggle.com/datasets/sakshigoyal7/credit-card-customers) desde **Kaggle** 12 | 13 | #### Grabación de la sesión 14 | [](https://www.youtube.com/watch?v=7_u37ugJB1A) 15 | 16 | 17 | #### Nuestras redes sociales 18 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 19 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 20 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 21 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 22 | -------------------------------------------------------------------------------- /Databricks Certified Associate/Spark dd8609c5ca3041bb89b503bc314efe53/Databricks 16b513dab9164637bb0c8f7f9f7d0013.md: -------------------------------------------------------------------------------- 1 | # Databricks 2 | 3 | - Databricks SQL 4 | 5 | Is a Databricks environment designed with SQL analysts in mind. You can use the built-in SQL query editor to write highly-performant queries directly on your organization's data lake, so you can be sure that you are always working with the most complete and current information available. 6 | 7 | - You can also connect to your preferred business intelligence (BI) tools, and use Databricks SQL to power your queries for fast performance. 8 | - you can track KPIs with automatic alerts or dashboard refresh on the latest data 9 | 10 |  11 | 12 |  13 | 14 | in order to start writing queries, you will need a Databricks Administrator to set up two things: 15 | 16 | 17 | [Databricks Certified Associate Developer for Apache Spark Certification](Databricks%2016b513dab9164637bb0c8f7f9f7d0013/Databricks%20Certified%20Associate%20Developer%20for%20Apach%20bae0f257766344c282eecb4ede50892f.md) -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_23/README.md: -------------------------------------------------------------------------------- 1 | ## Session 23 - Analítica de Grafos con GraphX 2 | ### Chapter 30 - Graph Analytics 3 | 4 |  5 | 6 | ### Resumen 7 | Estudiaremos el API de Apache Spark que unifica grafos y tablas denominado GraphX, que nos permite expresar una pipeline entera de analítica de grafos dentro de un sólo sistema. En esta sesión, veremos los pasos para construir y consultar un grafo con el GraphFrames, aplicaremos el Motif Finding para expresar patrones estructurales en un grafo, y exploraremos los algoritmos disponibles para analizar esta estructura de datos. 8 | 9 | El notebook (Scala) y el script se encuentran como [`Spark-Chapter_30_notebook.scala`](Spark-Chapter_30_notebook.scala) y [`Spark-Chapter_30.scala`](Spark-Chapter_30.scala), respectivamente. Se utilizó el conjunto de datos que acompaña el libro [aquí](https://github.com/databricks/Spark-The-Definitive-Guide/tree/master/data/bike-data). 10 | 11 | #### Grabación de la sesión 12 | [](https://www.youtube.com/watch?v=M-7ADrQ5MB0) 13 | 14 | 15 | #### Nuestras redes sociales 16 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 17 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 18 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 19 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 20 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_14/README.md: -------------------------------------------------------------------------------- 1 | ## Session 14 2 | ### Chapters 22 & 23 - Event-Time and Stateful Processing 3 | 4 |  5 | 6 | ### Resumen 7 | En la sesión anterior, hemos conocido los aspectos relevantes del API de Structured Streaming. Ahora vamos a trabajar con el tema del procesamiento de event time. Con este modelo de procesamiento se busca analizar la información con respecto al tiempo en que fue creado. Esto tiene implicaciones importantes durante el procesamiento en streaming, especialmente en entornos de producción, ya que sería necesario mantener un estado relevante para actualizar la información antes de meterlo al sink. 8 | 9 | Durante la sesión, se presentó un pequeño proyecto de ingesta de datos del Twitter a Apache Kafka y lectura de los mismos en streaming dentro de PySpark. El repositorio de este proyecto se encuentra [aquí](https://github.com/kauvinlucas/pyspark-stateful-processing-with-twitter-kafka) 10 | 11 | #### Grabación de la sesión 12 | [](https://www.youtube.com/watch?v=PAXTLdXDhDk) 13 | 14 | #### Nuestras redes sociales 15 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 16 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 17 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 18 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 19 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_5/README.md: -------------------------------------------------------------------------------- 1 | ## Session 5 - Operaciones estructuradas básicas 2 | ### Chapter 5 - Basic Structured Operations 3 | 4 |  5 | 6 | ### Resumen 7 | En esta sesión se habló sobre las operaciones de estructuras basicas en Spark. Entre los diferentes temas tratados se encontraban: 8 | 9 | * Schemas 10 | 11 | * Columns and Expressions: 12 | * Columns 13 | * Expressions 14 | 15 | * Records and Rows: 16 | * Creating Rows 17 | 18 | * DataFrame Transformations: 19 | * Creating DataFrames 20 | * select and selectExpr 21 | * Converting to Spark Types (Literals) 22 | * Adding Columns 23 | * Renaming Columns 24 | * Reserved Characters and Keywords 25 | * Case Sensitivity 26 | * Removing Columns 27 | * Changing a Column’s Type (cast) 28 | * Filtering Rows 29 | * Getting Unique Rows 30 | * Random Samples 31 | * Random Splits 32 | * Concatenating and Appending Rows (Union) 33 | * Sorting Rows 34 | * Limit 35 | * Repartition and Coalesce 36 | * Collecting Rows to the Driver 37 | 38 | Ejemplos expuestos fueron ejecutados en un archivo scala denominado `basic_structured_operation.scala` 39 | 40 | #### Grabación de la sesión 41 | 42 | [](https://www.youtube.com/watch?v=CxnTp5ZDAGE) 43 | 44 | #### Nuestras redes sociales 45 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 46 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 47 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 48 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 49 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_9/README.md: -------------------------------------------------------------------------------- 1 | ## Session 9 2 | ### Chapter 9 & 10 - Data Sources API and Spark SQL 3 | 4 |  5 | 6 | ### Resumen 7 | Esta sesión trató de introducirnos a la variedad de fuentes de datos que se pueden utilizar en Apache Spark, y las diferentes interfaces que nos permitirían hacer las conexiones a los datos. También se habló sobre el Spark SQL, una de las funcionalidades más importantes de Spark. 8 | 9 | Entre los temas principales estaban: 10 | - Data Sources API 11 | - Trabajando con datos de fuentes internas 12 | - Trabajando con datos de fuentes externas 13 | - User-Defined Functions 14 | - Trabajando con datos del tipo complejo 15 | 16 | Ejemplos de cada uno de los temas fueron ejecutados en un notebook denominado [`Data Sources and Spark SQL.ipynb`](Data%20Sources%20and%20Spark%20SQL.ipynb). 17 | 18 | Observación: el notebook ejecutado en un entorno creado con Docker Compose. El archivo YAML para crear el entorno se encuentra en este [repositorio](https://github.com/rodrigo-reboucas/docker-bigdata). Los conjuntos de datos que fueron cargados al MySQL y al HDFS se encuentran [aquí](../../data/). 19 | 20 | #### Grabación de la sesión 21 | 22 | [](https://www.youtube.com/watch?v=peES5DnYsOg) 23 | 24 | #### Nuestras redes sociales 25 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 26 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 27 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 28 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 29 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_12/README.md: -------------------------------------------------------------------------------- 1 | ## Session 12 2 | ### Part IV - Production Applications (2/2) with Spark on Kubernetes 3 | 4 |  5 | 6 | *Observación: esta es la segunda sesión sobre Part IV. Production Applications.* 7 | 8 | ### Resumen 9 | En esta sesión, nos enfocamos en los tópicos relevantes respecto a la implementación de aplicaciones en Spark dentro de un cluster de Kubernetes. Kubernetes fue incorporado como Resource Manager en Spark 2.3, aunque fue marcado como GA (Generally Available) y "production-ready" con el Spark 3.1. Iremos conocer la arquitectura de un cluster de Kubernetes, las opciones que nos ofrece Spark y los pasos necesarios para implementar una aplicación en Kubernetes. 10 | 11 | Entre los temas relevantes de la sesión se encontraban: 12 | 13 | * La arquitectura de un cluster de Kubernetes 14 | * ¿Porqué Spark en Kubernetes? 15 | * Implementación de una aplicación mediante *spark-submit* 16 | * Implementación de una aplicación mediante un Spark Operator 17 | * Algunas opciones de monitoreo y depuración que nos ofrece Spark en Kubernetes 18 | 19 | Una artículo detallando los pasos llevados a cabo durante esta sesión fue escrito y se encuentra [aquí](https://www.kauvinlucas.com/projects/deploying-and-monitoring-spark-applications-with-kubernetes/es.html). 20 | 21 | Se implementó una aplicación en un cluster de Kubernetes utilizando los archivos de este [repositorio en Github](https://github.com/kauvinlucas/spark-kubernetes). 22 | 23 | #### Grabación de la sesión 24 | [](https://www.youtube.com/watch?v=6_aVEcGob98) 25 | 26 | 27 | #### Nuestras redes sociales 28 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 29 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 30 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 31 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 32 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_18/README.md: -------------------------------------------------------------------------------- 1 | ## Session 17 - selección y manipulación de características con Spark ML 2 | ### Chapter 25 - Preprocessing and Feature Engineering (3/3) 3 | 4 |  5 | 6 | *Observación: esta es la última de tres sesiones sobre este capítulo.* 7 | 8 | ### Resumen 9 | Cualquier científico de datos o ingeniero de machine learning que se precie sabe que preparar los datos para un modelo de aprendizaje automático es uno de los mayores desafíos del análisis predictivo. Para que el preprocesamiento e ingeniería de características tenga éxito, es necesario que el profesional posea un amplio conocimiento sobre el problema a resolver, los datos a procesar y las necesidades del modelo de aprendizaje automático para aprovechar estos datos. 10 | 11 | En esta sesión, demostraremos algunos de los pasos para la selección de características y reducción de dimensionalidad con los módulos de Spark ML. La selección de características consiste en eliminar aquellas variables de entrada que sean irrelevantes o redundantes al problema, con el objetivo de reducir los tiempos de entrenamiento y mejorar la compartibilidad con el modelo de aprendizaje automático. 12 | 13 | El notebook que se utilizó durante la sesión se denomina [`Feature Selection.ipynb`](Feature%20Selection.ipynb). Los datos utilizados fueron extraídos de: 14 | * [Credit Risk Analysis](https://www.kaggle.com/datasets/rameshmehta/credit-risk-analysis) desde **Kaggle** y 15 | * [Swarm Behaviour Data Set](https://archive.ics.uci.edu/ml/datasets/Swarm+Behaviour) desde el **UC Irvine Machine Learning Repository** 16 | 17 | #### Grabación de la sesión 18 | [](https://www.youtube.com/watch?v=6oYcbV55YB8) 19 | 20 | 21 | #### Nuestras redes sociales 22 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 23 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 24 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 25 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 26 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_16/README.md: -------------------------------------------------------------------------------- 1 | ## Session 16 2 | ### Chapter 25 - Preprocessing and Feature Engineering (1/3) 3 | 4 |  5 | 6 | *Observación: esta es la primera de tres sesiones sobre este capítulo.* 7 | 8 | ### Resumen 9 | Cualquier científico de datos o ingeniero de machine learning que se precie sabe que preparar los datos para un modelo de aprendizaje automático es uno de los mayores desafíos del análisis predictivo. Para que el preprocesamiento e ingeniería de características tenga éxito, es necesario que el profesional posea un amplio conocimiento sobre el problema a resolver, los datos a procesar y las necesidades del modelo de aprendizaje automático para aprovechar estos datos. 10 | 11 | En esta sesión, nos enfocaremos en el tema del preprocesamiento e ingeniería de características de textos. El procesamiento de texto es una disciplina importante en la minería de datos y en el procesamiento de lenguaje natural (NLP). Spark ML nos ofrece diversas herramientas para convertir el texto en un vector representativo numérico. Exploraremos estas herramientas en un ejemplo sencillo de análsis de sentimiento de los tweets. 12 | 13 | El notebook que se utilizó para realizar el análsis se encuentra en [`Text Preprocessing and Feature Extraction.ipynb`](Text%20Preprocessing%20and%20Feature%20Extraction.ipynb). Los datos utilizados (`train.csv`) fueron extraídos de la competición denominada `Tweet Sentiment Extraction` de **Kaggle**. Puedes acceder a estos datos desde [aquí](https://www.kaggle.com/competitions/tweet-sentiment-extraction/data) (es necesario tener una cuenta en Kaggle y aceptar a los términos de la competición). 14 | 15 | #### Grabación de la sesión 16 | [](https://www.youtube.com/watch?v=T2B0ZJlYOqU) 17 | 18 | 19 | #### Nuestras redes sociales 20 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 21 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 22 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 23 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 24 | -------------------------------------------------------------------------------- /Spark - The Definite Guide/sessions/session_17/README.md: -------------------------------------------------------------------------------- 1 | ## Session 17 - preprocesamiento de datos continuos y categóricos con Spark ML 2 | ### Chapter 25 - Preprocessing and Feature Engineering (2/3) 3 | 4 |  5 | 6 | *Observación: esta es la segunda de tres sesiones sobre este capítulo.* 7 | 8 | ### Resumen 9 | Cualquier científico de datos o ingeniero de machine learning que se precie sabe que preparar los datos para un modelo de aprendizaje automático es uno de los mayores desafíos del análisis predictivo. Para que el preprocesamiento e ingeniería de características tenga éxito, es necesario que el profesional posea un amplio conocimiento sobre el problema a resolver, los datos a procesar y las necesidades del modelo de aprendizaje automático para aprovechar estos datos. 10 | 11 | En esta sesión, nos enfocaremos en el preprocesamiento e ingeniería de características continuas y categóricas. Para las variables continuas, Spark ML posee transformadores para la normalización o estandarización y para el bucketing. Para las variables categóricas, es posible emplear tareas de codificación y decodificación de los valores. 12 | 13 | Preprocesaremos los datos continuos y categoricos en dos ejemplos: 14 | * Análisis de tasa de abandono de consumidores de tarjetas de crédito, y 15 | * Predicción de la volatilidad de precios de las opciones financieras. 16 | 17 | El notebook que se utilizó para realizar el análsis se encuentra en [`Feature Transformation.ipynb`](Feature%20Transformation.ipynb). Se utilizó dos conjuntos de datos: el **[Credit Card customers](https://www.kaggle.com/datasets/sakshigoyal7/credit-card-customers)** (en Kaggle) y los datos de la competición en Kaggle denominada **[Optiver Realized Volatility Prediction](https://www.kaggle.com/c/optiver-realized-volatility-prediction/overview)**. 18 | 19 | #### Grabación de la sesión 20 | [](https://www.youtube.com/watch?v=s_d3fM41dTY) 21 | 22 | 23 | #### Nuestras redes sociales 24 | * [Youtube](https://www.youtube.com/channel/UCqFCoUEvxR23ymmih0GD7mQ?sub_confirmation=1 'Subscríbate al canal') 25 | * [Linkedin](https://www.linkedin.com/company/data-engineering-latam/ 'Síganos en Linkedin') 26 | * [Facebook](https://www.facebook.com/dataengineeringlatam/ 'Síganos en Facebook') 27 | * [Website](https://beacons.ai/dataengineeringlatam 'Nuestro website') 28 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | pip-wheel-metadata/ 24 | share/python-wheels/ 25 | *.egg-info/ 26 | .installed.cfg 27 | *.egg 28 | MANIFEST 29 | 30 | # PyInstaller 31 | # Usually these files are written by a python script from a template 32 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 33 | *.manifest 34 | *.spec 35 | 36 | # Installer logs 37 | pip-log.txt 38 | pip-delete-this-directory.txt 39 | 40 | # Unit test / coverage reports 41 | htmlcov/ 42 | .tox/ 43 | .nox/ 44 | .coverage 45 | .coverage.* 46 | .cache 47 | nosetests.xml 48 | coverage.xml 49 | *.cover 50 | *.py,cover 51 | .hypothesis/ 52 | .pytest_cache/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | target/ 76 | 77 | # Jupyter Notebook 78 | .ipynb_checkpoints 79 | 80 | # IPython 81 | profile_default/ 82 | ipython_config.py 83 | 84 | # pyenv 85 | .python-version 86 | 87 | # pipenv 88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 91 | # install all needed dependencies. 92 | #Pipfile.lock 93 | 94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 95 | __pypackages__/ 96 | 97 | # Celery stuff 98 | celerybeat-schedule 99 | celerybeat.pid 100 | 101 | # SageMath parsed files 102 | *.sage.py 103 | 104 | # Environments 105 | .env 106 | .venv 107 | env/ 108 | venv/ 109 | ENV/ 110 | env.bak/ 111 | venv.bak/ 112 | 113 | # Spyder project settings 114 | .spyderproject 115 | .spyproject 116 | 117 | # Rope project settings 118 | .ropeproject 119 | 120 | # mkdocs documentation 121 | /site 122 | 123 | # mypy 124 | .mypy_cache/ 125 | .dmypy.json 126 | dmypy.json 127 | 128 | # Pyre type checker 129 | .pyre/ 130 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Spark Study Club 2 | 3 | Bienvenidos al repositorio del grupo de estudios de Spark de Data Engineering Latam. 4 | 5 | Mayor información aquí: [Telegram](https://t.me/dataEngineeringLatam_Spark 'Telegram') 6 | 7 | ## Sobre el grupo 8 | 9 | El **Spark Study Club** de Data Engineering Latam está tomando la iniciativa de llevar sesiones de estudios sobre sobre diversos temas para que sus miembros puedan familiarizarse con [Apache Spark](https://spark.apache.org), la herramienta de analítica unificada, multi lenguage y distribuída que forma parte de *The Apache Software Foundation* y que es utilizada para ejecutar tareas de ingeniería de datos y de ciencia de datos a gran escala. 10 | 11 | ## Sobre el repositorio 12 | 13 | Este repositorio acomoda los materiales utilizados en las sesiones de estudio sobre Apache Spark llevadas a cabo por Data Engineering Latam. 14 | 15 | * [Databricks Certified Associate](https://github.com/DataEngineering-LATAM/Spark-StudyClub/tree/main/Databricks%20Certified%20Associate) 16 | * [Spark - The Definite Guide](https://github.com/DataEngineering-LATAM/Spark-StudyClub/tree/main/Spark%20-%20The%20Definite%20Guide) 17 | 18 | Instrucciones para utilizar el repositorio estarán dentro de las respectivas carpetas en `root`. 19 | 20 | --- 21 | 22 | ## Sobre la comunidad Data Engineering Latam 23 | 24 | Data Engineering Latam es la comunidad de datos más grande de América Latina cuya misión es promover el talento de la región a través de la difusión de charlas, talleres, grupos de estudio, ayuda colaborativa y la creación de contenido relevante. 25 | 26 |
28 | En esta sesión se habló sobre las operaciones de estructuras basicas en Spark. Entre los diferentes temas tratados se encontraban:
60 |Ejemplos expuestos fueron ejecutados en un archivo scala denominado basic_structured_operation.scala
67 |