日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spark应用程序_Sparklens:Spark应用程序优化工具

發布時間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spark应用程序_Sparklens:Spark应用程序优化工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

spark應用程序

Sparklens是帶有內置Spark Scheduler模擬器的Spark分析工具:它使您更容易理解Spark應用程序的可擴展性限制。 它有助于了解給定Spark應用程序使用提供給它的計算資源的效率。 它已在Qubole實施并維護。 它是開源的( Apache License 2.0 ),已經在Scala中實現。

Sparklens的一個有趣特征是它具有通過一次運行Spark應用程序生成估計的能力。 它報告信息,例如估計的完成時間和使用不同數量的執行者的估計的群集利用率,作業/階段時間線,該時間線顯示了如何在作業中安排并行階段以及每個階段的指標很有趣。 有四種使用Sparklens的方法:

  • 現場模式
  • 離線模式
  • 在事件歷史記錄文件上運行
  • 筆記本電腦

在這篇文章中,我僅關注實時和離線模式。

現場模式

通過使用以下選項,Sparklens可以在應用程序執行時運行(對于
火花提交和
火花殼 ):

--packages qubole:sparklens:0.2.1-s_2.11 --conf spark.extraListeners=com.qubole.sparklens.QuboleJobListener

或通過編程方式將Sparklens依賴項添加到Java / Scala項目中(這是Maven的示例):

<repositories><!-- Mandatory: the Sparklens artifact aren't in Maven Central --><repository><id>qubole-maven-repo</id><name>Qubole Maven Repo</name><url>http://dl.bintray.com/spark-packages/maven/</url></repository><repository><id>central</id><name>Maven Repository Switchboard</name><layout>default</layout><url>http://repo1.maven.org/maven2</url><snapshots><enabled>false</enabled></snapshots></repository> </repositories> ... <dependency><groupId>qubole</groupId><artifactId>sparklens</artifactId><version>0.2.1-s_2.11</version> </dependency>

然后按以下方式配置其偵聽器(對于Spark 1.X)

SparkConf conf = new SparkConf(); conf.setMaster(master); conf.setAppName("Spark app name"); conf.set("spark.extraListeners", "com.qubole.sparklens.QuboleJobListener"); JavaSparkContext jsc = new JavaSparkContext(conf);

或如下(對于Spark 2.x)

SparkSession spark = SparkSession.builder().appName("Spark app name").master(master).config("spark.extraListeners", "com.qubole.sparklens.QuboleJobListener").getOrCreate();

離線模式

Sparklens可以稍后運行,而不必在執行時運行。 可以通過在Spark應用程序配置中添加以下屬性來進行設置:

conf.set("spark.sparklens.reporting.disabled", "true");

在Spark應用程序執行結束時,僅生成JSON數據文件。 默認的保存目錄是/ tmp / sparklens ,但是可以通過以下配置屬性更改目標:

conf.set("spark.sparklens.data.dir", "/home/guglielmo/sparklens");

然后,該文件可用于通過以下方式獨立運行Sparklens:
spark-submit命令如下:

$SPARK_HOME/bin/spark-submit --packages qubole:sparklens:0.2.1-s_2.11 \--class com.qubole.sparklens.app.ReporterApp qubole-dummy-arg <datafile_path>

上面的命令從JSON數據文件開始,生成的報告具有與實時模式下生成的布局相同且包含相同結果的報告。

那個報告

這些是最終報告中可用的信息:

  • 效率統計信息(驅動程序與執行程序時間,關鍵和理想應用時間,驅動程序和執行程序浪費的核心計算時間)。
  • 具有不同執行程序計數的預測掛鐘時間和群集利用率。
  • 每階段指標。
  • 隨著時間的推移,執行人員可用,執行人員也需要。
  • 基于任務的匯總指標。

結論

我和我的團隊最近開始采用此工具,到目前為止,我們發現了解由其他團隊開發的Spark應用程序的可伸縮性限制確實有用,但是需要在我們的基礎架構中執行。 該工具生成的最終報告提供了一組全面的信息,這些信息絕對有助于指出正確的方向,以發現潛在的可伸縮性問題和需要改進的地方。

生成的報告采用文本格式,其中包含上述所有指標和信息。 Qubole提供了 在線服務 ,可從上傳的JSON數據文件開始,生成具有交互式圖表和表格的用戶友好且優雅的報告。 無論您是組織機構,還是不允許您共享在公司基礎結構中執行的Spark應用程序上運行Sparklens生成的JSON數據,都需要保留文本報告。 為了解決這種情況,我正在考慮實現并發布一個開源Java庫,以在本地環境中從Sparklens JSON數據文件或文本報告開始生成用戶友好的報告。 請通過評論此帖子來注冊您對此庫的興趣。 謝謝。

翻譯自: https://www.javacodegeeks.com/2019/02/sparklens-tool-spark-applications-optimization.html

spark應用程序

總結

以上是生活随笔為你收集整理的spark应用程序_Sparklens:Spark应用程序优化工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。