我在本地工作,使用以下方式构建spark_session:
builder = SparkSession.builder \
.master("local[8]") \
.appName("test_app") \
.config("spark.jars.packages", "org.apache.hadoop:hadoop-aws:3.3.4") \
.config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog") \
.config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension") \
.config("spark.sql.session.timeZone", "UTC")
spark = configure_spark_with_delta_pip(builder, extra_packages=["org.apache.hadoop:hadoop-aws:3.3.4"]) \
.enableHiveSupport() \
.getOrCreate()
使用以下内容尝试读取增量表:
Spark.read.load("s3://
我尝试手动下载jar,并将其手动放入venv/lib/site-packages/pyspark/jars文件夹中。
我安装了 hadoop-aws 3.3.4,因为 pyspark/jars 文件夹中安装的其他 hadoop jar 位于 3.3.4 中,
并且还尝试手动将其替换为下载的 3.3.5 jar,因为我本地的 hadoop 版本是 3.3.5。结果一样
希望你知道如何处理这个问题!!
问候
.config(
"spark.jars.packages",
"io.delta:delta-spark_2.12:3.1.0,org.apache.hadoop:hadoop-aws:3.3.4",
)
.config("spark.hadoop.fs.s3a.access.key", aws_access_key_id)
.config("spark.hadoop.fs.s3a.secret.key", aws_secret_access_key)
.config("spark.hadoop.fs.s3a.session.token", session_token)
.config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog")
.config("spark.delta.logStore.class", "org.apache.spark.sql.delta.storage.S3SingleDriverLogStore")