我正在嘗試使用 Crealytics 包從 HDFS 位置讀取 Excel 檔案并不斷收到錯誤(原因:java.lang.ClassNotFoundException:org.apache.spark.sql.connector.catalog.TableProvider)。我的代碼如下。有小費嗎?運行以下代碼時,spark 會話啟動正常,并且 Crealytics 包加載沒有錯誤。該錯誤僅在運行“spark.read”代碼時出現。我使用的檔案位置是準確的。
def spark_session(spark_conf):
conf = SparkConf()
for (key, val) in spark_conf.items():
conf.set(key, val)
spark = SparkSession \
.builder \
.enableHiveSupport() \
.config(conf=conf) \
.getOrCreate()
return spark
spark_conf = {"spark.executor.memory": "16g",
"spark.yarn.executor.memoryOverhead": "3g",
"spark.dynamicAllocation.initialExecutors": 2,
"spark.driver.memory": "16g",
"spark.kryoserializer.buffer.max": "1g",
"spark.driver.cores": 32,
"spark.executor.cores": 8,
"spark.yarn.queue": "adhoc",
"spark.app.name": "CDSW_basic",
"spark.dynamicAllocation.maxExecutors": 32,
"spark.jars.packages": "com.crealytics:spark-excel_2.12:0.14.0"
}
df = spark.read.format("com.crealytics.spark.excel") \
.option("useHeader", "true") \
.load("/user/data/Block_list.xlsx")
我還嘗試使用下面的代碼在會話函式之外加載它,一旦我嘗試讀取檔案,就會產生相同的錯誤。
crealytics_driver_loc = "com.crealytics:spark-excel_2.12:0.14.0"
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages ' crealytics_driver_loc ' pyspark-shell'
uj5u.com熱心網友回復:
看起來我正在回答我自己的問題。經過大量的擺弄,我發現使用舊版本的 crealytics 可以與我的設定配合使用,盡管我不確定為什么。有效的軟體包是 13 版(“com.crealytics:spark-excel_2.12:0.13.0”),但最新的是 15 版。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/436855.html
標籤:擅长 阿帕奇火花 pyspark apache-spark-sql 类未发现异常
上一篇:SparkApplicationMaster是否始終運行在EMR集群的主節點上
下一篇:Intellij中的SparkScala錯誤:在Hadoop二進制檔案中找不到可執行的null\bin\winutils.exe
