替換默認的庫jar

學習如何將默認的Java或Scala庫jar替換為另一個版本。

寫的ram.sankarasubramanian

最後發布日期:2022年5月16日

Databricks包含許多默認的Java和Scala庫。您可以使用集群範圍的init腳本刪除默認庫jar,然後安裝所需的版本,從而將這些庫中的任何一個替換為另一個版本。

刪除

警告

刪除默認庫並安裝新版本可能會導致不穩定或完全破壞Databricks集群。在運行生產作業之前,應該在環境中徹底測試任何新的庫版本。

識別工件id

要確定要刪除的jar文件的名稱:

  1. 從受支持的發行版列表(AWS|Azure|GCP).
  2. 導航到Java和Scala庫部分。
  3. 標識您想要刪除的庫的Artifact ID。

使用工件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/

安裝init腳本並重新啟動

  1. 在集群上安裝集群範圍的初始化腳本,請按照配置集群範圍的初始化腳本(AWS|Azure|GCP).
  2. 重新啟動集群。