sparkSQL 连接读取Oracle数据库

类似于mysql的连接方式,不过稍有细节差别。
1. Oracle数据库在安装后一般会在$ORACLE_HOME/jdbc/lib目录中放置ojdbc*.jar等jar文件,将这些文件复制到spark集群服务器上,比如$SPARK_HOME/jars/中,然后修改CLASSPATH=$SPARK_HOME/jars/ojdbc6.jar:$CLASSPATH
2. 重启jupyter notebook
3.  连接读取oracle数据库
from pyspark.sql import SparkSession
try:
   sc.stop()
except:
    pass
spk = SparkSession.builder.master("spark://192.168.12.7:7077").appName("spark-oracle").getOrCreate()
print(spk)
sc11=spk.sparkContext
print(sc11)

#从oracle 数据库表中读取数据到spark,如果要使用sql语句,则必须添加别名alias,比如下面的t
sqltext="(select col1,col2,col3 from tablename) t"
jdbcdf = spk.read.format('jdbc').options(
    url='jdbc:oracle:thin:@//192.168.2.7:1521/dbname',
    dbtable=sqltext,
    user='username',
    password='password'   
).load()
print(jdbcdf)
jdbcdf.createOrReplaceTempView('ls')
spk.sql("select * from ls).show()
sc11.stop()

你可能感兴趣的:(sparkSQL 连接读取Oracle数据库)