如何将AWS EMR笔记本连接到Oracle数据库?

成俊

在CLI中,我移至hadoop目录(在EMR中)并下载了ojdbc.jar文件。我尝试使用下面的spark shell命令连接Oracle DB:

pyspark \
--jars "/home/hadoop/ojdbc6.jar" \
--master yarn-client \
--num-executors 5 \
--driver-memory 14g \
--executor-memory 14g \

df = spark.read \
          .format("jdbc") \
          .option("url", "jdbc:oracle:thin:USER/HOST@//IP:PORT/SERVICE") \
          .option("dbtable", "TABLE") \
          .option("user", "USER") \
          .option("password", "PASSWORD") \
          .option("driver", "oracle.jdbc.driver.OracleDriver") \
          .load()

它正在工作,但是使用终端对我来说不方便。因此,我想将EMR笔记本连接到Oracle DB并尝试以下代码:

from pyspark import SparkContext, SparkConf

spark_conf = SparkConf().setAll([('spark.pyspark.python', 'python3'), 
                                 ('spark.pyspark.virtualenv.enabled', 'true'), 
                                 ('spark.pyspark.virtualenv.type', 'native'), 
                                 ('spark.pyspark.virtualenv.bin.path', '/usr/bin/virtualenv'), 
                                 ('spark.driver.extraClassPath', '/home/hadoop/ojdbc6.jar')])\
                        .setAppName('SparkJob')
sc = SparkContext.getOrCreate(conf=spark_conf)

df = sqlContext.read \
               .format("jdbc") \
               .options(url="jdbc:oracle:thin:USER/HOST@//IP:PORT/SERVICE", 
                        dbtable="TABLE", 
                        user="USER", 
                        password="PASSWORD", 
                        driver = "oracle.jdbc.driver.OracleDriver") \
               .load()

并得到一个错误:

An error occurred while calling o97.load.
: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

为了从EMR Jupyter Notebook连接到Oracle DB,有没有遗漏的步骤?

AB

您可以使用此解决方案,首先将jdbc驱动程序上载到s3存储桶并复制链接,然后可以在第一个单元格(首先要执行)中指定jar文件。例如,我为ms sql jdbc驱动程序执行了此操作(您在此需要oracle)。

%%configure -f
{
    "conf": {
        "spark.jars": "s3://jar-test/mssql-jdbc-8.4.0.jre8.jar"        
    }
}

另外,这是从jdbc读取的代码段。

from pyspark import SparkConf, SparkContext
from pyspark.sql import SQLContext, SparkSession, Window, DataFrame,Row


spark_session = SparkSession\
    .builder\
    .appName("test") \
    .getOrCreate()     



spark_context = spark_session.sparkContext
sql_context = SQLContext(spark_context)

df = sql_context.read.format("jdbc") \
    .option("url", "jdbc:sqlserver://<public-dns>:<port>") \
    .option("driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver") \
    .option("dbtable","<table-name>") \
    .option("user", "<username>") \
    .option("password", "<password>") \
    .load()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法从PHP脚本连接到AWS数据库

来自分类Dev

如何将Airflow连接到Oracle数据库

来自分类Dev

如何将 Android 应用程序连接到 AWS 数据库

来自分类Dev

如何从ASP.NET脚本连接到Informix数据库?

来自分类Dev

如何将JBoss 7.1.1 Final连接到Oracle数据库?

来自分类Dev

如何将JBoss 7.1.1 Final连接到Oracle数据库?

来自分类Dev

如何将Oracle数据库连接到Visual Studio C#项目

来自分类Dev

如何将网站连接到MYSQL数据库?

来自分类Dev

如何将GridView连接到数据库?

来自分类Dev

如何将网站连接到MYSQL数据库?

来自分类Dev

如何将HTML连接到Phpadmin数据库?

来自分类Dev

Ballerina:如何将 Oracle 数据库与 Ballerina 连接?

来自分类Dev

将Oracle数据库连接到Grails 3

来自分类Dev

可以将Oracle连接到Quartz后端数据库

来自分类Dev

如何从 docker 容器中的 python 脚本连接到本地主机上的 mysql 数据库

来自分类Dev

如何从UNIX连接到Oracle数据库

来自分类Dev

python:如何使用jdbc连接到oracle数据库

来自分类Dev

如何将UCanAccess连接到使用数据库密码加密的Access数据库?

来自分类Dev

如何使用Java将数据从Oracle数据库连接到Kendo Grid?

来自分类Dev

从shell脚本连接到oracle数据库

来自分类Dev

如何将搜索表单连接到数据库并在 Laravel 上检索数据

来自分类Dev

如何使用实体框架和Oracle托管数据访问连接到Oracle数据库?

来自分类Dev

如何将ms-botframework连接到Azure数据库

来自分类Dev

如何将EC2中的Django连接到RDS中的Postgres数据库?

来自分类Dev

如何将MS Access数据库连接到Jetbrains DataGrip

来自分类Dev

如何将Java桌面应用程序连接到在线mysql数据库?

来自分类Dev

如何将Android App连接到SQL Server数据库

来自分类Dev

如何将SQLite本地数据库连接到HTML前端?

来自分类Dev

如何将Windows Phone 8连接到远程数据库?

Related 相关文章

  1. 1

    无法从PHP脚本连接到AWS数据库

  2. 2

    如何将Airflow连接到Oracle数据库

  3. 3

    如何将 Android 应用程序连接到 AWS 数据库

  4. 4

    如何从ASP.NET脚本连接到Informix数据库?

  5. 5

    如何将JBoss 7.1.1 Final连接到Oracle数据库?

  6. 6

    如何将JBoss 7.1.1 Final连接到Oracle数据库?

  7. 7

    如何将Oracle数据库连接到Visual Studio C#项目

  8. 8

    如何将网站连接到MYSQL数据库?

  9. 9

    如何将GridView连接到数据库?

  10. 10

    如何将网站连接到MYSQL数据库?

  11. 11

    如何将HTML连接到Phpadmin数据库?

  12. 12

    Ballerina:如何将 Oracle 数据库与 Ballerina 连接?

  13. 13

    将Oracle数据库连接到Grails 3

  14. 14

    可以将Oracle连接到Quartz后端数据库

  15. 15

    如何从 docker 容器中的 python 脚本连接到本地主机上的 mysql 数据库

  16. 16

    如何从UNIX连接到Oracle数据库

  17. 17

    python:如何使用jdbc连接到oracle数据库

  18. 18

    如何将UCanAccess连接到使用数据库密码加密的Access数据库?

  19. 19

    如何使用Java将数据从Oracle数据库连接到Kendo Grid?

  20. 20

    从shell脚本连接到oracle数据库

  21. 21

    如何将搜索表单连接到数据库并在 Laravel 上检索数据

  22. 22

    如何使用实体框架和Oracle托管数据访问连接到Oracle数据库?

  23. 23

    如何将ms-botframework连接到Azure数据库

  24. 24

    如何将EC2中的Django连接到RDS中的Postgres数据库?

  25. 25

    如何将MS Access数据库连接到Jetbrains DataGrip

  26. 26

    如何将Java桌面应用程序连接到在线mysql数据库?

  27. 27

    如何将Android App连接到SQL Server数据库

  28. 28

    如何将SQLite本地数据库连接到HTML前端?

  29. 29

    如何将Windows Phone 8连接到远程数据库?

热门标签

归档