小编Col*_*ial的帖子

pyspark读取格式jdbc生成ORA-00903: 无效表名错误

通过在远程服务器上运行 pysqpark,我可以使用 jdbc 连接到另一台服务器上的 Oracle 数据库,但我运行的任何有效查询都会返回ORA-00903: invalid table name Error.

我可以使用cx_Oracle或从本地计算机连接到数据库pyodbc。当我从本地连接时,返回上述错误的那些查询运行没有问题。

我改变了在本地或远程运行的查询,但无论我运行什么类型的有效查询

  ORACLE_JAR = "ojdbc7.jar"
  JAR_LOC = os.path.join(os.environ["JARS_DIR"], ORACLE_JAR)
  spark = SparkSession.builder \
      .appName("GetData") \
      .config("spark.jars", "local://" + JAR_LOC) \
      .getOrCreate()

  exadata_instances = ["xxx.yyy.zzz", "aaa.bbb.cc"]

  db_host = "xxx.yyy.zzz"
  user = 'username'
  password = 'passW0rd' 

  driver = "oracle.jdbc.OracleDriver"
  sid = "eee.fff.ggg"
  address_string = ""

  for exadata_instance in exadata_instances:
    address_string += f"(ADDRESS=(PROTOCOL=TCP)(HOST={exadata_instance})(PORT=1521))"

  tns = f"(DESCRIPTION= \
  (ADDRESS_LIST= \
  (LOAD_BALANCE=OFF) \
  (FAILOVER=ON) \
  {address_string}) \
  (CONNECT_DATA=(SERVICE_NAME={sid})(SERVER=DEDICATED)))"
  url …
Run Code Online (Sandbox Code Playgroud)

oracle jdbc apache-spark pyspark cdsw

2
推荐指数
1
解决办法
2123
查看次数

标签 统计

apache-spark ×1

cdsw ×1

jdbc ×1

oracle ×1

pyspark ×1