案件:
part-00000-deb4a3d4-d8c3-4983-8756-ad7e0b29e780.c000.snappy.parquet
我在代码中找不到 parquet 文件的一些规则。有人可以解释一下吗?
在阅读结构化流的源代码时,我对此语法感到困惑。
在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)
我的问题:
如何理解案例streamingRelation @ StreamingRelation(dataSourceV1,sourceName,输出)?
“ @”的作用是什么?