从 Databricks 的 VM 读取文件

Read files from a VM from Databricks

我想从 databricks 的 VM 读取文件。 我能够从 Databricks 驱动程序通过 SFTP 连接到 VM。但是我想使用 spark.read 阅读。 我试过:

val read_input_df = spark.read
.format("com.springml.spark.sftp")
.option("host", "SFTP_HOST")
.option("username", "username")
.option("password", "password")
.option("fileType", "csv")
.load("/home/file1.csv")

获取错误 NoClassDefFoundError:scala/Product$class。 有人成功过吗?

问题是您在使用 Scala 2.12 (7.x/8.x/9.x/10.x) 的 Databricks 集群运行时上使用为 Scala 2.11 编译的库.截至目前,还没有 Spark 3.x/Scala 2.12 的发布版本,但是有一个 pull request 可以尝试自己编译并使用。

另一种方法是先通过 SFTP 将文件复制到 DBFS(例如 ),然后照常打开。