使用 pyspark 写入增量文件时出错 - 原因为:java.lang.ClassNotFoundException:delta.DefaultSource

Mic*_*ael 5 pyspark jupyter-notebook delta-lake

我有一个镶木地板文件,我正在尝试将其写入增量表。我认为我的代码很简单。

from pyspark.sql import SparkSession
spark = SparkSession.builder \
    .master("local[*]") \
    .appName('test') \
    .config("spark.jars.packages", "io.delta:delta-core_2.12:0.7.0") \
    .config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension") \
    .config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog") \
    .config('spark.ui.port', '4050') \
    .getOrCreate()
df = spark.read.format('parquet').load('fhvhv_tripdata_2021-01.parquet')
df.write.format('delta').save('deltafiles')
Run Code Online (Sandbox Code Playgroud)

当我尝试编写它时,尽管收到此错误

...
Caused by: java.lang.ClassNotFoundException: delta.DefaultSource
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at org.apache.spark.sql.execution.datasources.DataSource$.$anonfun$lookupDataSource$5(DataSource.scala:65
...
Run Code Online (Sandbox Code Playgroud)

我正在使用:Python 版本 3.8.10 当我运行 pyspark --version 我得到:

      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 3.2.1
      /_/
                        
Using Scala version 2.12.15, OpenJDK 64-Bit Server VM, 11.0.15
Run Code Online (Sandbox Code Playgroud)

我正在 Jupyter Notebook 中运行。造成这种情况的原因可能是什么/我还应该检查什么?