我正在运行此命令以从普通集群(未安装 hadoop)中的 Azure databricks 读取数据。
spark-submit --packages io.delta:delta-core_2.12:0.7.0 \
--conf "spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension" \
--conf "spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog" \
--conf "spark.delta.logStore.class=org.apache.spark.sql.delta.storage.HDFSLogStore" \
Test_write_to_DL.py
我收到此错误
: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.azurebfs.SecureAzureBlobFileSystem not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2595)
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:3269)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3301)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:124)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3352)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3320)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:479)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:361)
at org.apache.spark.sql.delta.DeltaTableUtils$.findDeltaTableRoot(DeltaTable.scala:163)
at org.apache.spark.sql.delta.sources.DeltaDataSource$.parsePathIdentifier(DeltaDataSource.scala:259)
您能否建议我需要安装什么 jar 才能使其正常工作
最佳答案
参见达美航空 documentation详情:
- 首先,您需要使用
org.apache.spark.sql.delta.storage.AzureLogStore,而不是
org.apache.spark.sql.delta.storage.HDFSLogStore
- 您需要将
hadoop-azure
包 ( maven coordinates ) 包含到--packages
- 您还需要提供凭据等。
关于azure - 无法从azure databricks读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66456043/