问题描述:
尝试执行下面的代码时遇到以下错误。编写代码的目的是将 csv 文件读入数据帧,然后创建增量表。
Py4JJavaError:调用 o95.csv 时发生错误。 :org.apache.spark.SparkException:找不到目录“spark_catalog”的目录插件类:org.apache.spark.sql.delta.catalog.DeltaCatalog
Jupyter 笔记本、Spark(3.3.3)、Java(17.0.8)、Python 3.10.13
示例代码:
import findspark
findspark.init()
findspark.find()
from pyspark.sql import SparkSession
from pyspark.sql.types import *
from pyspark.sql.functions import *
spark = (SparkSession.builder.appName("DeltaLakeApp").master("local[4]")
.config("spark.dynamicAllocation.enabled","false")
#add package for delta lake
.config("spark.jars.package","io.delta:delta-core_2.12:2.4.0")
#add settings to use delta lake with Spark session
.config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension")
.config("spark.sql.catalog.spark_catalog","org.apache.spark.sql.delta.catalog.DeltaCatalog")
.getOrCreate()
)
sc = spark.sparkContext`
taxiDF = (spark.read.option("hearder", "true").option("inferSchema", "true")
.csv("C:\DataFiles\Raw\Taxis_01.csv"))
尝试加载下面的软件包但从未安装但失败。
spark-submit --packages org.apache.spark:spark-sql-kafka-0-10_2.12:3.3.3,io.delta:delta-core_2.12:2.4.0 kafka_to_delta.py
你需要将 delta-core_2.12:2.4.0.jar 和 delta-storage_2.4.0.jar 添加到你的 Spark\jars 文件夹中..你可以从 MavenRepository 下载 jars