我希望从另一个databricks实例连接到一个databricks实例中的delta lake。我已经从下载page下载了sparksimba jar。当我使用以下代码时:
result = spark.read.format("jdbc").option('user', 'token').option('password', <password>).option('query', query).option("url", <url>).option('driver','com.simba.spark.jdbc42.Driver').load()
我得到以下错误:
Py4JJavaError: An error occurred while calling o287.load.: java.lang.ClassNotFoundException: com.simba.spark.jdbc42.Driver
从周围的阅读来看,我似乎需要注册驱动程序类路径,但我找不到一种方法来实现这一点
我尝试了以下代码,但我的databricks环境中不存在bin/pyspark目录:
%sh bin/pyspark --driver-class-path $/dbfs/driver/simbaspark/simbaspark.jar --jars /dbfs/driver/simbaspark/simbaspark.jar
我也尝试过:
java -jar /dbfs/driver/simbaspark/simbaspark.jar
但是我得到了这个错误:在dbfs/driver/simbaspark/simbaspark中没有主清单属性
如果您想这样做(实际上不建议这样做),那么您只需要将这个库上载到DBFS,并将它附加到cluster via UI or the init script。之后,它将为驾驶员和驾驶员提供;遗嘱执行人
但实际上,据我所知,您的数据存储在DBFS的默认位置(所谓的DBFS根)。但不建议将数据存储在DBFS根目录中,文档中指出了这一点:
因此,您需要在现有存储帐户中创建一个单独的存储帐户或容器,mount it to the Databricks workspace-这可以对多个工作区执行,因此您将解决多个工作区之间的数据共享问题。这是在任何云中部署Databricks的标准建议
相关问题 更多 >
编程相关推荐