No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Transformaciones y acciones

8/25
Recursos

Aportes 24

Preguntas 10

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

en mi opinion el profesor debe ser un poco mas explicito

Díganme si esto no es bello?

Si quieren correr el código de la clase sigan este notebook de Colab: https://colab.research.google.com/drive/1dJiHM8TdwvuTJRYa84Xxnbp0ktCNk6b2?usp=sharing
En la clase corrí todo el código del notebook menos la parte que dice ‘Sample’

En entorno windows

import findspark
findspark.init()

from pyspark import SparkContext
sc = SparkContext(master=“local”, appName=“TransformacionesyAcciones”)

rdd = sc.textFile(‘D:\CompartidaMV\data.csv’)
.map(lambda line : line.split(","))

rdd.take(20)

[[‘State’, ‘Color’, ‘Count’],
[‘TX’, ‘Red’, ‘20’],
[‘NV’, ‘Blue’, ‘66’],
[‘CO’, ‘Blue’, ‘79’],
[‘OR’, ‘Blue’, ‘71’],
[‘WA’, ‘Yellow’, ‘93’],
[‘WY’, ‘Blue’, ‘16’],
[‘CA’, ‘Yellow’, ‘53’],
[‘WA’, ‘Green’, ‘60’],
[‘OR’, ‘Green’, ‘71’],
[‘TX’, ‘Green’, ‘68’],
[‘NV’, ‘Green’, ‘59’],
[‘AZ’, ‘Brown’, ‘95’],
[‘WA’, ‘Yellow’, ‘20’],
[‘AZ’, ‘Blue’, ‘75’],
[‘OR’, ‘Brown’, ‘72’],
[‘NV’, ‘Red’, ‘98’],
[‘WY’, ‘Orange’, ‘45’],
[‘CO’, ‘Blue’, ‘52’],
[‘TX’, ‘Brown’, ‘94’]]

Si se les presenta el siguiente error:

raise Exception(("Python in worker has different version %s than that in " +
Exception: Python in worker has different version 3.8 than that in driver 3.7, PySpark cannot run with different minor versions. Please check environment variables PYSPARK_PYTHON and PYSPARK_DRIVER_PYTHON are correctly set.

El Driver cómo el worker poseen diferentes versiones. En mi caso esto es debido a que en mi sistema (OSX) tengo instalado de base python 3.8 y el entorno anaconda que ocupo tiene instalado Python 3.7, ya que es la última versión que por el momento soporta Pyspark.
La solución es agregar las siguientes lineas al inicio de su Jupyter Noteebook (antes de cargar SparkContext), cuidando sustituir el parametro: env_pyspark_3_7, por el nombre de su entorno anaconda

import os
os.environ['PYSPARK_DRIVER_PYTHON'] = '/opt/anaconda3/envs/env_pyspark_3_7/bin/python3'
os.environ['PYSPARK_PYTHON'] = '/opt/anaconda3/envs/env_pyspark_3_7/bin/python3'```

con humildad les comparto mis apuntes sobre el curso, es buenísimo, y si le hacen fork dejen su Estrellita en el repo, devuelvan algo a la comunidad de platzi, y nunca paren de aprender.

https://github.com/rb-one/Cuso_Introductorio_de_Spark/blob/master/Notes/notes.md

Listar y Cargar Archivo en Windows:

Si alguno de ustedes está utilizando Docker, tengan en mente que para poder tener los archivos del curso van a necesitar compartir un volumen en el cual previamente hayan hecho el git clone.

Carga de crimenes de Nueva York.

from pyspark import SparkContext
sc = SparkContext(master="local", appName="TransformacionesyAcciones")

path= "/Spark Most Current/Apache Spark-Scala Fundamentals/Chapter 2. Introduction to RDDs/Documents/"
nypdRDD = sc.textFile(path+"NYPD_7_Major_Felony_Incidents.csv").\
            map(lambda line: line.split(","))
print(nypdRDD.take(3))
[['OBJECTID',
  'Identifier',
  'Occurrence Date',
  'Day of Week',
  'Occurrence Month',
  'Occurrence Day',
  'Occurrence Year',
  'Occurrence Hour',
  'CompStat Month',
  'CompStat Day',
  'CompStat Year',
  'Offense',
  'Offense Classification',
  'Sector',
  'Precinct',
  'Borough',
  'Jurisdiction',
  'XCoordinate',
  'YCoordinate',
  'Location 1'],
 ['1',
  'f070032d',
  '09/06/1940 07:30:00 PM',
  'Friday',
  'Sep',
  '6',
  '1940',
  '19',
  '9',
  '7',
  '2010',
  'BURGLARY',
  'FELONY',
  'D',
  '66',
  'BROOKLYN',
  'N.Y. POLICE DEPT',
  '987478',
  '166141',
  '"(40.6227027620001',
  ' -73.9883732929999)"'],
 ['2',
  'c6245d4d',
  '12/14/1968 12:20:00 AM',
  'Saturday',
  'Dec',
  '14',
  '1968',
  '0',
  '12',
  '14',
  '2008',
  'GRAND LARCENY',
  'FELONY',
  'G',
  '28',
  'MANHATTAN',
  'N.Y. POLICE DEPT',
  '996470',
  '232106',
  '"(40.8037530600001',
  ' -73.955861904)"']]```

Estoy estudiando en la noche y me lastimó la luz blanca, si quieren cambiar el theme de su Jupyter Notebook:

En la terminal de su entorno en Anaconda:

<conda install -c conda-forge jupyterthemes>

En su Notebook:

<from jupyterthemes import get_themes
import jupyterthemes as jt
from jupyterthemes.stylefx import set_nb_theme
set_nb_theme('chesterish')> 

Uno esperaría poder encontrar en platzi cursos desde los más básicos pasando por intermedio y avanzado y super avanzado. Hay cursos como este que se quedan en lo básico , ahí es cuando toca acudir a otras plataformas de aprendizaje.

El profesor es muy poco explicito

hola tengo este error, podrian ayudarme ?

BÁSICOS SOBRE RDDs CON EJEMPLO
La función map() te permite transformar o aplicar una funcion a un iterable sin necesidad de usar un ciclo. En este caso el iterable sería el RDD (imagínalo como si fuera una lista y estas aplicando una función a cada item de la lista), y la función que se le esta aplicando es una función lambda que hace mas o menos lo que nosotros queramos. Durante el curso la función nos permite ordenar el RDD que ya creamos seleccionando los elementos del RDD que queramos. Recuerda que al trabajar los RDDs como pares llave-valor (RDD = (key, (v1,v2)) para poder ver que elemento está en que posición puedes intentar haciendo un take y luego probando las posiciones (listas dentro de listas, tuplas dentro de listas, etc.)

  • Crear el RDD:

path = "/content/gdrive/My Drive/DEVELOPER/PYSPARK_COLAB/curso-apache-spark-platzi/files/"


*#If you don't want the whole file in one column use map for this*

olimpicTeamsRDD = sc.textFile(path+"paises.csv") \

.map(lambda lineline.split(","))

  • Visualizar los RDDs y buscar la posicion que quiero (en este caso quiero la sigla)

olimpicTeamsRDD.take(10), olimpicTeamsRDD.take(2)[1][2]

interesante

Carga del Clásico cdv de los pokemones

Hola! alguno a sabe o podría darme una idea de como hago para que la interfaz me cargue realmente me sale un error pero no se que pueda ser. ![](https://static.platzi.com/media/user_upload/image-ffb50b5e-fd73-44ca-ae51-4b56a00977bc.jpg)
Los archivos en los recursos son son para todo el curso, es muy confuso.

Muy confusos todos los conceptos de los que habla el profesor, este curso debería explicar los conceptos como Job, paralelizaciones, grafos, y un largo etc.

Hola Gente, solo queria decirles que tuve problemas con el proceso de mostrar los datos, particularmente todo funcionaba excepto la ruta, casi que no podia correr el comando

equiposOlimpicosRDD.take(10)

porque al intentarlo SIEMPRE me salia un error, pues bien la solucion se las muestro seguidamente.

from pyspark import SparkContext
sc = SparkContext(master="local", appName="transformaciones y acciones")
equiposOlimpicosRDD = sc.textFile("C:\\xxx\\xxx\\xxx\\xxx\\xxx\\xxx\\xxx\\paises.csv").map(lambda line:line.split(","))
equiposOlimpicosRDD.take(10)

al final los resultados aparecieron en la notebook, la razon era que el backslash toca escaparlo y eso se hace con otro backslash, de ahi que se tenga que usar un doble backslash pero despues funciono, creanme que hice de todo y la verdad los mensajes de error no funcionaron, hasta que segui los pasos en el comentario de @Ignacio Buscio y luego pude ver el error de sintaxis y 5 minutos despues lo habia solucionado, pero desde ayer estaba intentandolo. Si les sirve o si saben porque pasa, estare pendiente a sus comentarios 😄

A mi me salió en Windows con el siguiente código:

No estoy usando Jupyter para hacer los ejemplos. Estoy ejecutando los archivos .py desde cmd. Algo que note es que poniendo “local” en master. No me sale la app en la pagina del worker. Pero si pongo “spark://ip:7077” si me aparece.

from pyspark import SparkContext

sc = SparkContext(master = "spark://_IP_:7077", appName="TransformacionesyAcciones")

rdd1 = sc.parallelize([1,2,3])

res = rdd1.collect()

print(res)

sc.stop()

Si como a mi, tras escribir y correr

sc = SparkContext(master="local", appName="transformacionesYAcciones")

les sale este error en Mac OS:

ValueError: Cannot run multiple SparkContexts at once; existing SparkContext(app=PySparkShell, master=local[*]) created by <module> at /usr/local/spark/python/pyspark/shell.py:59

significa que previamente se ha inicializado SparkContext, por lo que debes cerrar spark y volver a iniciarlo con el
siguiente comando

sc.stop()

Después de esto ya puedes continuar con tu código de manera regular.

Fuente: https://programmersought.com/article/62292781690/

En Windows tuve problemas de este tipo: interpretation of escape characters. Dejo mi ejemplo

root = os.path.abspath(r"C:\Users\usuarioX\Desktop\EscuelaDeDataScience\CursoIntroductorioDeSpark\curso-apache-spark-platzi-master\files\paises.csv")

equiposOlimpicosRDD = sc.textFile(root).map( lambda line: line.split(",") )
equiposOlimpicosRDD.take(10)
sc.stop()

Esta bastante interesante el curso, estoy trabajando con google colab, solo hay algo que pasa en google colab y es que la interfaz gráfica de spark no se puede abrir, si alguien sabe como abrir la interfaz gráfica de spark desde google colab y lo comparte le estaría muy agradecido. Por lo demas les comparto el código de la clase en google colab.

https://colab.research.google.com/drive/1mWMCGFnIFH-sEQRvYdZfugqk-XW6VPaX?usp=sharing