idea 查看scala源代码
Published on 2021-08-31 11:52 in 暂未分类 with 是奉壹呀

idea 查看scala源代码

    使用idea编写spark程序,想要查看源代码,点进去是compiled code

     

    private[sql] def this(sc : org.apache.spark.SparkContext) = { /* compiled code */ }
      def version : scala.Predef.String = { /* compiled code */ }
    

    网上很多方法都是下载java 反编译工具,如java bytecode compiler。
    按照方法试了,倒是java类的class点进去能够看到反编译的代码,scala的class点进去依然没有反编译。可能是idea版本问题。

    试了几次遂放弃。

    因为即使是反编译成功了,依然不是我想要的结果。反统的代码毕竟不是源码,也没有注释。
    所以为何不利用maven下载源码与注释呢。

    可在全局配置里勾选source和doc两项,maven在引入依赖时自动下载源码和注释。

    当然更好的方案是,不勾选此两项,仅在需要查看源码的时候,去下载。

    好了,点击查看spark源码,这是我想要的效果:

    /**
       * Activate the stream and then wrap a callout to runActivatedStream, handling start and stop.
       *
       * Note that this method ensures that [[QueryStartedEvent]] and [[QueryTerminatedEvent]] are
       * posted such that listeners are guaranteed to get a start event before a termination.
       * Furthermore, this method also ensures that [[QueryStartedEvent]] event is posted before the
       * `start()` method returns.
       */
      private def runStream(): Unit = {
        try {
          sparkSession.sparkContext.setJobGroup(runId.toString, getBatchDescriptionString,
            interruptOnCancel = true)
          sparkSession.sparkContext.setLocalProperty(StreamExecution.QUERY_ID_KEY, id.toString)
          if (sparkSession.sessionState.conf.streamingMetricsEnabled) {
            sparkSession.sparkContext.env.metricsSystem.registerSource(streamMetrics)
          }
    
          // `postEvent` does not throw non fatal exception.
          val startTimestamp = triggerClock.getTimeMillis()
          postEvent(new QueryStartedEvent(id, runId, name, formatTimestamp(startTimestamp)))
    
    posted @   是奉壹呀  阅读(1026)  评论(0编辑  收藏  举报
    编辑推荐:
    · 如何编写易于单元测试的代码
    · 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
    · .NET Core 中如何实现缓存的预热?
    · 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
    · AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
    阅读排行:
    · 周边上新:园子的第一款马克杯温暖上架
    · Open-Sora 2.0 重磅开源!
    · .NET周刊【3月第1期 2025-03-02】
    · 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
    · [AI/GPT/综述] AI Agent的设计模式综述
    点击右上角即可分享
    微信分享提示