親愛的所有,
我們有一些磚工作區Azure中使用Apache塞多納。基於塞多納的文檔,我們需要有一個init腳本為了塞多納庫複製到磚一樣:
cp / dbfs / FileStore /罐/塞多納/ 1.3.1-incubating / *。jar /磚/ jar
參考:https://sedona.apache.org/1.3.1-incubating/setup/databricks/
我們使用這種方式工作。
然而由於最近的安全漏洞:
//m.eheci.com/blog/securing-databricks-cluster-init-scripts
我們明白這些腳本應該搬到工作區中。
如果我們在工作區中手動添加腳本(sedona-init.sh)這似乎工作。從UI,我們去工作,創建目錄init_scripts然後創建文件sedona-init.sh我們粘貼以下內容:
# !/bin/bash # #文件:sedona-init。sh #作者:創建有利Durdevic #: 2021-11-01 # #在集群啟動時,該腳本將塞多納jar複製到集群的默認jar目錄。#為了激活塞多納功能,記得要添加到您的火花配置塞多納的擴展:“spark.sql。擴展org.apache.sedona.viz.sql.SedonaVizExtensions org.apache.sedona.sql。SedonaSqlExtensions“cp / dbfs / FileStore /罐/塞多納/ 1.3.1-incubating / *。jar /磚/ jar
然後我們引導集群的init腳本配置如下:
“init_scripts”:[{“工作區”:{“目的地”:“/ init_scripts / sedona-init。sh "}},
正常和集群的靴子。
但是我們需要自動化。但是我們有困難通過磚CLI的導入文件。cli要求文件是下列之一:SCALA, PYTHON, R或SQL
磚工作區導入- o sedona-init美元。sh / init_scripts / sedona-init。sh用法:磚工作區導入[選項]SOURCE_PATH TARGET_PATH嚐試“磚工作區導入- h”尋求幫助。錯誤:缺少“——語言”/“- l”選項。美元磚工作區導入——幫助用法:磚工作區導入[選項]SOURCE_PATH TARGET_PATH進口磚的文件從本地工作區。默認格式是源。可能格式源、HTML JUPYTER, DBC。每種格式的記錄https://docs.m.eheci.com/api/latest/workspace.html notebookexportformat。選項:- l, SCALA語言語言,PYTHON, SQL, R - f[要求],————覆蓋格式格式- o——調試調試模式。顯示完整的堆棧跟蹤誤差。——概要文本使用CLI連接配置文件。默認的配置文件是“默認”。- h,幫助顯示此消息並退出。
看來我們不能通過磚CLI導入shell腳本文件。我們也嚐試改變py文件有一個筆記本作為一個init腳本使用以下內容:
% sh cp / dbfs / FileStore /罐/塞多納/ 1.3.1-incubating / *。jar /磚/ jar
然而然後集群未能開始以下錯誤:
{"原因":{“代碼”:“INIT_SCRIPT_FAILURE”、“類型”:“CLIENT_ERROR”,“參數”:{“即instance_id”:“* * * * * * * *”、“databricks_error_message”:“BAD_REQUEST:節點類型必須TreeFile但輸入類型是:殼”}}}
有一個自動化的方法導入shell腳本(或另一種方式通過python筆記本)或者我們不得不采取手動解決方案嗎?
請注意我們已經嚐試最新的磚cli可用:
美元0.17.7磚- v的版本
提前謝謝你。