sql >> Databáze >  >> RDS >> PostgreSQL

Nelze se připojit k postgres pomocí jdbc v prostředí pyspark

Možná to bude užitečné.

V mém prostředí SPARK_CLASSPATH obsahuje cestu ke konektoru postgresql

from pyspark import SparkContext, SparkConf
from pyspark.sql import DataFrameReader, SQLContext
import os

sparkClassPath = os.getenv('SPARK_CLASSPATH', '/path/to/connector/postgresql-42.1.4.jar')

# Populate configuration
conf = SparkConf()
conf.setAppName('application')
conf.set('spark.jars', 'file:%s' % sparkClassPath)
conf.set('spark.executor.extraClassPath', sparkClassPath)
conf.set('spark.driver.extraClassPath', sparkClassPath)
# Uncomment line below and modify ip address if you need to use cluster on different IP address
#conf.set('spark.master', 'spark://127.0.0.1:7077')

sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)

url = 'postgresql://127.0.0.1:5432/postgresql'
properties = {'user':'username', 'password':'password'}

df = DataFrameReader(sqlContext).jdbc(url='jdbc:%s' % url, table='tablename', properties=properties)

df.printSchema()
df.show()

Tento kus kódu umožňuje používat pyspark tam, kde potřebujete. Například jsem to použil v projektu Django.



  1. Oracle Apex 5.0 – Zobrazení statického obrazu

  2. Jak zastavit/spustit databázovou poštovní frontu na serveru SQL Server (T-SQL)

  3. Jak mohu použít uživatelem definovanou proměnnou MySql v .NET MySqlCommand?

  4. Generujte DEFAULT hodnoty v CTE UPSERT pomocí PostgreSQL 9.3