gpt4 book ai didi

java - 如何使用 Pyspark 连接 Teradata

转载 作者:行者123 更新时间:2023-12-02 06:03:00 24 4
gpt4 key购买 nike

我正在尝试通过 PySpark 连接 teradata 服务器。

我的 CLI 代码如下,

from pyspark.sql import SparkSession
spark=SparkSession.builder
.appName("Teradata connect")
.getOrCreate()
df = sqlContext.read
.format("jdbc")
.options(url="jdbc:teradata://xy/",
driver="com.teradata.jdbc.TeraDriver",
dbtable="dbname.tablename",
user="user1",password="***")
.load()

这是一个错误,

py4j.protocol.Py4JJavaError: An error occurred while calling o159.load. : java.lang.ClassNotFoundException: com.teradata.jdbc.TeraDriver

为了解决这个问题,我认为,我需要添加 jar terajdbc4.jar 和 `tdgssconfig.jar。

在Scala中,我们可以使用添加jar

    sc.addJar("<path>/jar-name.jar")

如果我对 PySpark 使用相同的内容,则会出现错误,

AttributeError: 'SparkContext' object has no attribute 'addJar'.

AttributeError: 'SparkSession' object has no attribute 'addJar'

如何添加 jar terajdbc4.jartdgssconfig.jar

最佳答案

尝试按照这篇文章进行操作,其中解释了如何将 jdbc 驱动程序添加到 pyspark。

How to add jdbc drivers to classpath when using PySpark?

上面的示例适用于 postgres 和 docker,但答案应该适用于您的场景。请注意,您对驱动程序文件的看法是正确的。大多数 JDBC 驱动程序都位于单个文件中,但 Teradata 将其分为两部分。我认为一个是实际的驱动程序,另一个(tdgss)包含安全内容。 这两个文件必须添加到类路径中才能正常工作。

或者,只需谷歌搜索“如何将 jdbc 驱动程序添加到 pyspark”。

关于java - 如何使用 Pyspark 连接 Teradata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55961635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com