Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de Fundamentos de Spark para Big Data

Curso de Fundamentos de Spark para Big Data

Óscar Gutiérrez Castillo

Óscar Gutiérrez Castillo

SQL

19/25
Recursos

Aportes 4

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Vi que esta mostrando duplicados por lo que agregue la palabra DISTINCT despues del SELECT para eliminar los duplicados.

sqlContext.sql("""SELECT DISTINCT medalla, equipo, sigla
                    FROM resultado r
                    JOIN deportista d
                      ON r.deportista_id = d.deportista_id
                    JOIN paises p
                      ON p.equipo_id = d.equipo_id
                   WHERE medalla <> "NA"
                   ORDER BY sigla DESC
                    """).show()

para los que quieren conectar spark con postgresql en ubuntu yo hize lo siguiente baje el driver de JDBC https://jdbc.postgresql.org/download.html
descomprimi el archivo lo copie en descargas y lo pegue en la siguiente ruta /usr/share/java/ quedando
usr/share/java/postgresql-42.3.1.jar, luego exporte la ruta al CLASSPATH con el siguiente comando (export CLASSPATH="$CLASSPATH:/usr/share/java/postgresql-42.3.1.jar"), y quedo listo para usar.
despues en jupyter notebook escribi el siguiente codigo para conectar a la base

<code> 
from pyspark.sql import SparkSession

spark = SparkSession \
    .builder \
    .appName("Python Spark SQL basic example") \
    .config("spark.jars", "/usr/share/java/postgresql-42.3.1.jar") \
    .getOrCreate()

df = spark.read \
    .format("jdbc") \
    .option("url", "jdbc:postgresql://localhost:5432/nombredelabase") \
    .option("dbtable", "nombredelatabla") \
    .option("user", "postgres") \
    .option("password", "password") \
    .option("driver", "org.postgresql.Driver") \
    .load()

df.printSchema()

espero les sirva

Saludos!
El método .registerTempTable("[alias]") está deprecado para las nuevas versiones. En ese caso se usa el método .createOrReplaceTempView("[alias]").

interesante