J'essaie de me connecter à Oracle à Spark et je veux extraire des données de certaines tables et requêtes SQL. Mais je ne suis pas capable de me connecter à Oracle. J'ai essayé différentes options de travail, mais pas regarder. J'ai suivi les étapes ci-dessous. Veuillez me corriger si j'ai besoin de faire des changements. J'utilise la machine Windows 7. J'utilise un ordinateur portable Jupyter pour utiliser Pyspark. J'ai python 2.7 et Spark 2.1.0. J'ai mis un chemin de classe étincelle dans les variables d'environnement:..Essayer de se connecter à Oracle à partir de Spark
SPARK_CLASS_PATH = C:\Oracle\Product\11.2.0\client_1\jdbc\lib\ojdbc6.jar
jdbcDF = sqlContext.read.format ("jdbc") l'option ("driver", "oracle.jdbc.driver.OracleDriver") Option ("url", "jdbc: oracle: // serveur: port #/base de données") .option ("dbtable", "Table_name") .option ("user", "nom d'utilisateur") .option ("mot de passe", " . mot de passe ") charge()
Erreurs:
1.Py4JJavaError:
An error occurred while calling o148.load.
: java.sql.SQLException: Invalid Oracle URL specified
2.Py4JJavaError:
An error occurred while calling o114.load. : java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
Un autre scénario:
from pyspark import SparkContext, SparkConf
from pyspark.sql import SQLContext
ORACLE_DRIVER_PATH = "C:\Oracle\Product\11.2.0\client_1\jdbc\lib\ojdbc7.jar"
Oracle_CONNECTION_URL ="jdbc:oracle:thin:username/[email protected]:port#/dbservicename"
conf = SparkConf()
conf.setMaster("local")
conf.setAppName("Oracle_imp_exp")
sqlContext = SQLContext(sc)
ora_tmp=sqlContext.read.format('jdbc').options(
url=Oracle_CONNECTION_URL,
dbtable="tablename",
driver="oracle.jdbc.OracleDriver"
).load()
j'obtiens ci-dessous erreur.
Error: IllegalArgumentException: u"Error while instantiating org.apache.spark.sql.hive.HiveSessionState':"
Aidez-moi à m'en procurer.
Je suis nouveau sur Spark et Python – Ramsey