我正在使用Pycharm,并试图连接雪花使用电火花。但是越来越少的错误。
raise Py4JJavaError(
py4j.protocol.Py4JJavaError: An error occurred while calling o40.load.
: java.lang.NoClassDefFoundError: scala/$less$colon$less
at net.snowflake.spark.snowflake.DefaultSource.shortName(DefaultSource.scala:44)
at org.apache.spark.sql.execution.datasources.DataSource$.$anonfun$lookupDataSource$2(DataSource.scala:652)
at org.apache.spark.sql.execution.datasources.DataSource$.$anonfun$lookupDataSource$2$adapted(DataSource.scala:652)
at scala.collection.TraversableLike.$anonfun$filterImpl$1(TraversableLike.scala:304)
我的守则:
from pyspark.sql import SparkSession
sfoptions = {
"sfUrl" : URL
"sfUser" : USER
"sfPassword" : PASSWORD
"sfaccount" : ACCOUNT
}
query="SELECT COUNT(*) from table_name"
spark = SparkSession.builder.appName("demo").master("local").\
config('spark.jars','../jars/spark-snowflake_2.13-2.10.0-spark_3.2.jar,../jars/snowflake-jdbc-3.13.9.jar').getOrCreate()
SNOWFLAKE_SOURCE_NAME="net.snowflake.spark.snowflake"
df=spark.read.format(SNOWFLAKE_SOURCE_NAME).options(**sfoptions).option("query",query).load()
df.show()
有人能帮助解决这个问题吗?
发布于 2022-04-27 10:01:09
如果你的描述是正确的,那么:
SNOWFLAKE_SOURCE_NAME="new.snowflake.spark.snowflake"
应:
SNOWFLAKE_SOURCE_NAME="net.snowflake.spark.snowflake"
发布于 2022-07-22 01:37:35
检查驱动程序版本,并确保它们与Scala版本兼容。在本例中,您使用的是spark-snowflake_2.13-2.10.0-spark_3.2.jar
。此jar与Scalav2.13和SparkV3.2兼容。确保安装了这些版本。否则,使用与Spark和Scala版本兼容的jar文件。
https://stackoverflow.com/questions/72026760
复制相似问题