我是PySpark的新手,我只是想从我的红移银行读取一个表。
代码如下所示:
import findspark
findspark.add_packages("io.github.spark-redshift-community:spark-redshift_2.11:4.0.1")
findspark.init()
spark = SparkSession.builder.appName("Dim_Customer").getOrCreate()
df_read_1 = spark.read
.format("io.github.spark_redshift_community.spark.redshift")
.option("url", "jdbc:redshift://fake_ip:5439/fake_database?user=fake_user&password=fake_password")
.option("dbtable", "dim_customer")
.option("tempdir", "https://bucket-name.s3.region-code.amazonaws.com/")
.load()
我得到错误:java.lang.NoClassDefFoundError: scala/Product$class
我使用Spark 3.2.2版本与Python 3.9.7
有人能帮我一下吗?提前感谢!您使用了错误的Spark -redshift连接器版本-您的版本是使用Scala 2.11的Spark 2.4,而您需要使用Scala 2.12的Spark 3版本-将版本更改为最近发布的5.1.0(此处列出了所有发布的版本)