pyspark 调用o107.load时出错

olhwl3o2  于 2022-11-01  发布在  Spark
关注(0)|答案(1)|浏览(253)

我正在尝试使用以下代码连接到 Teradata

  1. conf = SparkConf()
  2. conf.set("spark.repl.local.jars", f"{jar_location}//terajdbc4.jar")
  3. conf.set("spark.executor.extraClassPath", f"{jar_location}//terajdbc4.jar")
  4. conf.set("spark.driver.extraClassPath", f"{jar_location}//terajdbc4.jar")
  5. driver = 'com.teradata.jdbc.TeraDriver'
  6. url = "jdbc:teradata://{0}".format(hostname)
  7. spark = SparkSession.builder \
  8. .config(conf=conf) \
  9. .appName(appName) \
  10. .master(master) \
  11. .getOrCreate()
  12. df = spark.read \
  13. .format('jdbc') \
  14. .option('driver', driver) \
  15. .option('url', url) \
  16. .option('query', "Select * from {0}.".format(database) + srcTable) \
  17. .option('user', username) \
  18. .option('password', password) \
  19. .load()
  20. print(df)

我收到以下错误:

  1. py4j.protocol.Py4JJavaError: An error occurred while calling o107.load.
  2. : java.sql.SQLException: [Teradata JDBC Driver] [TeraJDBC 17.10.00.27]
  3. [Error 1536] [SQLState HY000]
  4. Invalid connection parameter name url

此错误意味着什么?如何解决它?

pdtvr36n

pdtvr36n1#

@Fred是正确的。请执行以下操作:

  1. url = "jdbc:teradata://{0}/STRICT_NAMES=OFF".format(hostname)

相关问题