小编jay*_*ong的帖子

4
推荐指数
1
解决办法
1898
查看次数

如何理解这种语法?case streamRelation @ StreamingRelation(dataSourceV1,sourceName,输出)

在阅读结构化流的源代码时,我对此语法感到困惑。

在microBatchExecution.scala中

val _logicalPlan = analyzedPlan.transform {
     case streamingRelation@StreamingRelation(dataSourceV1, sourceName, 
output) =>
    toExecutionRelationMap.getOrElseUpdate(streamingRelation, {
      // Materialize source to avoid creating it in every batch
      val metadataPath = s"$resolvedCheckpointRoot/sources/$nextSourceId"
      val source = dataSourceV1.createSource(metadataPath)
      nextSourceId += 1
      logInfo(s"Using Source [$source] from DataSourceV1 named 
'$sourceName' [$dataSourceV1]")
      StreamingExecutionRelation(source, output)(sparkSession)
    })
……
 }
Run Code Online (Sandbox Code Playgroud)

我的问题:

  1. 如何理解案例streamingRelation @ StreamingRelation(dataSourceV1,sourceName,输出)?

  2. “ @”的作用是什么?

scala

3
推荐指数
1
解决办法
38
查看次数

标签 统计

apache-spark ×1

parquet ×1

scala ×1