Databricks包含許多默認的Java和Scala庫。您可以使用集群範圍的init腳本刪除默認庫jar,然後安裝所需的版本,從而將這些庫中的任何一個替換為另一個版本。
識別工件id
要確定要刪除的jar文件的名稱:
使用工件id來查找jar文件名
在筆記本中使用ls -l命令找到包含工件id的jar。例如,要在Databricks Runtime 7.0中找到spark-snowflake_2.12工件id的jar文件名,您可以使用以下代碼:
%sh ls -l /databricks/jars/*spark-snowflake_2.12* .
這將返回jar文件名
”——workspace_spark_3_0 maven-trees——蜂巢2.7 - 2.3 __hadoop net.snowflake——spark-snowflake_2.12 net.snowflake__spark-snowflake_2.12__2.5.9-spark_2.4.jar”。
上傳替換的jar文件
將替換jar文件上傳到DBFS路徑。
創建初始化腳本
使用下麵的模板創建一個集群範圍的init腳本。
% sh # !/bin/bash rm -rf /databricks/jars/.jar cp /dbfs/ / .jar /databricks/jars/ .jar
使用前麵步驟中的spark-snowflake_2.12示例將生成類似於下麵的init腳本:
% sh # !/bin/bash rm -rf /databricks/jars/----workspace_spark_3_0——maven-trees——hive-2.3__hadoop-2.7——net.snowflake——spark-snowflake_2.12——net.snowflake__spark-snowflake_2.12__2.5.9-spark_2.4.jar cp /dbfs/FileStore/jars/e43fe9db_c48d_412b_b142_cdde10250800-spark_snowflake_2_11_2_7_1_spark_2_4-b2adc.jar /databricks/jars/