簡體   English   中英

數據塊中的 addSparkListener 等效項

[英]addSparkListener equivalent in databricks

我想用 Databricks 的 spark 上下文注冊自定義 SparkListener。

有了基本的 spark,我可以在 spark-submit 期間使用“spark.jars”“spark.extraListeners”配置。 或使用sparkContext.addSparkListener api。

對於數據塊設置,我在集群上安裝了包含監聽器的 jar。 當我將配置“spark.extraListeners”放在集群的“高級”配置選項卡中時,集群無法初始化拋出錯誤偵聽器未找到。

我嘗試在 sparksession builder 中設置它

    .builder \
    .appName("abc") \
    .config("spark.extraListeners","mySparkListener") \
    .enableHiveSupport() \
    .getOrCreate()

databricks 不會添加它。 沒有拋出錯誤,但沒有添加監聽器。

有沒有辦法做到這一點? 注意:我在 databricks 上使用 python 筆記本

問題是當你進入 notebook 時, SparkSession已經初始化了,所以你的配置沒有效果。

您需要在集群啟動時指定此設置 - 您通過在集群 Spark conf 設置中指定正確地做到了這一點,但問題是在 Spark 啟動后安裝了庫,並且找不到必要的類。 你可以通過添加一個集群初始化腳本來解決這個問題,就像這樣 - 你需要在 DBFS 的某個地方安裝你的庫(我使用/FileStore/jars/my_jar.jar作為示例):

#!/bin/bash

cp /dbfs/FileStore/jars/my_jar.jar /databricks/jars

此腳本會將您的 jar 文件復制到本地磁盤上 jars 的目錄中,這將在 Spark 啟動之前發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM