如何使用Pysp连接Teradata

2024-10-02 00:23:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过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

为了解决这个问题,我想我需要添加jarterajdbc4.jar和`tdgssconfig.jar. 在

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

^{pr2}$

如果我对PySpark使用同样的方法,我就出错了

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

或者

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

如何添加jarterajdbc4.jartdgssconfig.jar?在


Tags: nocomobjectloadattributepysparkjarattributeerror
1条回答
网友
1楼 · 发布于 2024-10-02 00:23:12

下面这篇文章解释了如何向pyspark添加jdbc驱动程序。在

How to add jdbc drivers to classpath when using PySpark?

上面的例子适用于postgres和docker,但是答案应该适用于您的场景。 注意,您对驱动程序文件的描述是正确的。大多数JDBC驱动程序都在一个文件中,但是Teradata将其分成两部分。我认为一个是真正的驱动程序,另一个(tdgss)有安全性。两个文件都必须添加到类路径中才能正常工作。在

或者,只需google“如何向pyspark添加jdbc驱动程序”。在

相关问题 更多 >

    热门问题