我使用CSV sinc将metrics.properties文件添加到资源目录(Maven项目)。当我在本地运行Spark应用时,一切都很好-会显示指标。但是,当我向Amazon EMR提交相同的胖罐时,我看不到任何尝试将指标放入CSV sinc的尝试。所以我想在运行时检查SparkMetrics子系统加载了哪些设置。是否有可能这样做?
我调查了SparkEnv.get.metricsSystem
,但没有找到。
答案 0 :(得分:1)
这基本上是因为EMR上的Spark不会从胖子的metrics.properties
目录中提取您的自定义resources
文件。
对于EMR,首选的配置方式是通过EMR Configurations API,您需要在嵌入式JSON中传递classification
和properties
。
spark metrics
子系统,下面是修改几个指标的示例 [
{
"Classification": "spark-metrics",
"Properties": {
"*.sink.csv.class": "org.apache.spark.metrics.sink.CsvSink",
"*.sink.csv.period": "1"
}
}
]
使用Amazon Console或通过SDK创建EMR集群时,可以使用此JSON