你好,
我試著運行“pyspark”與“databricks-connect = = 11.30。b0’,但我失敗了。
我看到的跟蹤
' ' '
文件“/ home / agagrins / databricks9 / lib / python3.9 /網站/ py4j / java_gateway。在__call__ py”, 1321行
return_value = get_return_value (
文件“/ home / agagrins / databricks9 / lib / python3.9 /網站/ pyspark / sql /跑龍套。py”, 196行,在裝飾
返回f(*, * *千瓦)
文件“/ home / agagrins / databricks9 / lib / python3.9 /網站/ py4j /協議。在get_return_value py”, 326行
提高Py4JJavaError (
py4j.protocol。Py4JJavaError:調用o33.sql時發生一個錯誤。
:org.apache.spark。SparkException:沒有憑據的範圍。
在com.databricks.unity.UCSDriver經理。美元anonfun currentScopeId 1美元(UCSDriver.scala: 94)
scala.Option.getOrElse (Option.scala: 189)
com.databricks.unity.UCSDriver Manager.currentScopeId美元(UCSDriver.scala: 94)
com.databricks.unity.UCSDriver Manager.currentScope美元(UCSDriver.scala: 97)
com.databricks.unity.UnityCredentialScope .currentScope美元(UnityCredentialScope.scala: 100)
com.databricks.unity.UnityCredentialScope .getCredentialManager美元(UnityCredentialScope.scala: 128)
com.databricks.unity.CredentialManager .getUnityApiTokenOpt美元(CredentialManager.scala: 456)
com.databricks.unity.UnityCatalogClientHelper .getToken美元(UnityCatalogClientHelper.scala: 34)
在com.databricks.managedcatalog.ManagedCatalogClientImpl。anonfun getCatalog美元1美元(ManagedCatalogClientImpl.scala: 163)
在美元com.databricks.spark.util.FrameProfiler知根知底(FrameProfiler.scala: 80)
在com.databricks.managedcatalog.ManagedCatalogClientImpl。anonfun recordAndWrapException美元1美元(ManagedCatalogClientImpl.scala: 2904)
com.databricks.managedcatalog.ErrorDetailsHandler.wrapServiceException (ErrorDetailsHandler.scala: 25)
在com.databricks.managedcatalog.ErrorDetailsHandler.wrapServiceException美元(ErrorDetailsHandler.scala: 23)
com.databricks.managedcatalog.ManagedCatalogClientImpl.wrapServiceException (ManagedCatalogClientImpl.scala: 77)
com.databricks.managedcatalog.ManagedCatalogClientImpl.recordAndWrapException (ManagedCatalogClientImpl.scala: 2903)
com.databricks.managedcatalog.ManagedCatalogClientImpl.getCatalog (ManagedCatalogClientImpl.scala: 156)
com.databricks.sql.managedcatalog.ManagedCatalogCommon.catalogExists (ManagedCatalogCommon.scala: 94)
com.databricks.sql.managedcatalog.PermissionEnforcingManagedCatalog.catalogExists (PermissionEnforcingManagedCatalog.scala: 177)
com.databricks.sql.managedcatalog.ManagedCatalogSessionCatalog.catalogExists (ManagedCatalogSessionCatalog.scala: 384)
com.databricks.sql.DatabricksCatalogManager.isCatalogRegistered (DatabricksCatalogManager.scala: 104)
org.apache.spark.sql.SparkServiceCatalogV2Handler .catalogOperationV2美元(SparkServiceCatalogV2Handler.scala: 58)
在com.databricks.service.SparkServiceImpl。美元anonfun catalogOperationV2 1美元(SparkServiceImpl.scala: 165)
' ' '
我試著穀歌“沒有憑據”範圍,但無濟於事。任何人都知道的從哪裏開始?
對於上麵的問題似乎已經消失。雖然我不確定,感覺有點像我什麼也沒做不同。購買而不是我麵臨著一個更世俗的情況。
再一次,我在這裏試圖讓“databricks-connect”工作。
我隻是做
' ' '
python3 - m venv ~ / databricks11美元
美元。~ / databricks11 / bin /激活
pip安裝,升級pip美元
pip安裝,升級setuptools美元
pip安裝databricks-connect = = 11.3.0b0美元
美元databricks-connect配置
美元databricks-connect測試
' ' '
我的”。databricks-connect的樣子
' ' '
{
“主機”:“https://dbc- .cloud.www.eheci.com * * * *”,
“令牌”:“dapi * * * *”,
“cluster_id”:“0110 * * * *,
“端口”:“15001”
}
' ' '
我也有一些環境變量,以備不時之需
' ' '
DATABRICKS_ADDRESS =https://dbc- .cloud.www.eheci.com * * * *
DATABRICKS_API_TOKEN = dapi * * * *
DATABRICKS_CLUSTER_ID = 0110 - * * * *
DATABRICKS_PORT = 15001
' ' '
但是我得到一個錯誤
' ' '
23/02/03 11:47:17錯誤SparkClientManager:讓SparkClient失敗
java . util . concurrent。ExecutionException: com.databricks.service。SparkServiceConnectionException:無效的令牌
連接到數據磚集群,您必須指定一個API令牌。
API令牌:API磚牌用來證實你的身份
-了解更多關於API令牌:https://docs.www.eheci.com/api/latest/authentication.html生成一個令牌
得到當前值:spark.conf.get (“spark.databricks.service.token”)
——設置配置:通過spark.conf.set (“spark.databricks.service。令牌”,< API牌>)
——通過設置環境變量:出口DATABRICKS_API_TOKEN = < API牌>
' ' '
嗯,connect info看起來不錯。你可以嚐試下麵,看看你仍然得到的錯誤:
或
最後,如上所述文檔當地的發展,我們建議運行dbx databricks-connect。你相信你能有什麼具體databricks-connect,無法實現與dbx ?
我試著創建一個新的集群,為10.4,但是沒有得到我的任何地方。我之後的步驟:
' ' '
美元磚集群的創建,json文件cluster.json
' ' '
在集群”。json的樣子
' ' '
{
:“cluster_name test50”,
:“spark_version 10.4.x-scala2.12”,
" spark_conf ": {
“spark.databricks.service.client。啟用”:沒錯,
“spark.databricks.service.server。啟用”:沒錯,
“火花。投機”:沒錯,
“spark.sql.session。時區:UTC”
},
" spark_env_vars ": {
:“PYSPARK_PYTHON /磚/ python3 / bin / python3”
},
:“node_type_id i3.xlarge”,
"自動定量":{
“min_workers”: 1、
“max_workers”: 8
},
“autotermination_minutes”: 10
" aws_attributes ": {
“first_on_demand”: 0,
“可用性”:“SPOT_WITH_FALLBACK”,
:“zone_id eu-west-1b”,
“spot_bid_price_percent”: 100
},
“enable_elastic_disk”:假的,
:“data_security_mode SINGLE_USER”,
“single_user_name”:“* * * *”
}
' ' '
然後
' ' '
python3 - m venv ~ / databricks12美元
美元。~ / databricks12 / bin /激活
pip安裝,升級pip美元
pip安裝,升級setuptools美元
pip安裝databricks-connect = = 10.4.18美元
美元databricks-connect測試
' ' '
和結果
' ' '
23/02/09 10:22:14錯誤SparkServiceRPCClient:未能與火花集群同步。這可能是間歇性的問題,請檢查您的集群的狀態並重試。
com.databricks.service。SparkServiceConnectionException:無效的令牌
連接到數據磚集群,您必須指定一個API令牌。
API令牌:API磚牌用來證實你的身份
-了解更多關於API令牌:https://docs.www.eheci.com/api/latest/authentication.html生成一個令牌
得到當前值:spark.conf.get (“spark.databricks.service.token”)
——設置配置:通過spark.conf.set (“spark.databricks.service。令牌”,< API牌>)
——通過設置環境變量:出口DATABRICKS_API_TOKEN = < API牌>
' ' '