“spark.jars.packages”在 AWS Glue 和 Spark 中未按预期工作

问题描述 投票:0回答:1

我想在 Spark 会话中使用一些 Maven 存储库 JAR 文件,因此我使用“spark.jars.packages”创建会话,它将自动下载 JAR。这没有按预期工作,因为我正确配置了会话配置 (

('spark.jars.packages', 'net.snowflake:snowflake-jdbc:3.13.6,net.snowflake:spark-snowflake_2.12:2.9.0-spark_3.1'),
)。

但我仍然有错误:“无法找到数据源:net.snowflake.spark.snowflake。请在以下位置查找包 https://spark.apache.org/third-party-projects.html”如果我手动上传 JAR 就可以解决。

我正在使用 Glue v4。

如果我手动更新 JAR,它就可以工作,我需要它们自动下载。

接下来我可以尝试什么?

pyspark jar snowflake-cloud-data-platform aws-glue aws-glue-connection
1个回答
0
投票

以下代码对我有用。将此代码复制到脚本中并重新运行。大多数问题是 Maven 坐标未正确提供。

示例代码:

from pyspark import SQLContext
from pyspark.sql.functions import *
import pyspark.sql.functions as F

packages_so = 'net.snowflake:snowflake-jdbc:3.13.6,net.snowflake:spark-snowflake_2.12:2.9.0-spark_3.1'
repository = "https://repo1.maven.org/maven2"

spark = SparkSession \
    .builder \
    .config("spark.jars.packages", packages_so) \
    .config("spark.jars.repositories", repository) \
    .getOrCreate()

sc = spark.sparkContext
sqlContext = SQLContext(sc)
© www.soinside.com 2019 - 2024. All rights reserved.