azure - SPARK:将 Azure Blob 存储与 Spark 集群一起使用时如何访问 AzureFileSystemInstrumentation?
问题描述
我正在开发一个存储接收器是 Azure Blob 存储的spark项目。我以镶木地板格式写入数据。我需要一些关于存储的指标,例如。numberOfFilesCreated
等writtenBytes
。在网上搜索它时,我遇到了一个特定的指标,该hadoop-azure
包称为AzureFileSystemInstrumentation
. 我不确定如何从 spark 访问相同的内容,也找不到任何相同的资源。对于给定的 Spark 作业,如何访问该仪器?
解决方案
根据我的经验,我认为在您当前的场景中可以使用三种解决方案,如下所示。
在 Spark 中直接使用Hadoop API for HDFS 获取 HDFS Metrics 数据,因为
hadoop-azure
只是实现了使用 Azure Blob Storage 的 HDFS API,所以请参阅 Hadoop 官方文档Metrics了解您要使用哪些特定指标,例如CreateFileOps
或FilesCreated
作为下图得到numberOfFilesCreated
。同时,有一个类似的 SO 线程How do I get HDFS bytes read and write for Spark applications?你可以参考。直接使用 Azure Storage SDK for Java 或您编写程序时使用的其他语言对 Azure Blob Storage 中存储的文件进行统计,这些文件按照创建时间戳或其他方式排序,请参阅官方文档
Quickstart: Azure Blob storage client library v8 for Java
了解如何使用其 SDK。使用带有 Blob Trigger 的 Azure Function 来监控 Azure Blob Storage 中创建的文件的事件,然后您可以编写代码来统计每个 blob 创建的事件,请参阅官方文档
Create a function triggered by Azure Blob storage
了解如何使用 Blob Trigger。甚至,您可以将这些指标发送到 Azure 表存储或 Azure SQL 数据库或其他服务,以便稍后在 Azure Blob 触发函数中进行统计。
推荐阅读
- git - 如何在 git lfs 调用后访问 local_ref local_sha remote_ref remote_sha?
- java - 在 Maven 中为 Selenium/Cucumber 使用不同环境的配置文件属性
- javascript - 使用 ionic3 的基思木 jquery 未在 iphone 上显示
- image - as3不能用movieClip移动和旋转外部图像
- java - 我的 Spring Boot 应用程序在加载后立即退出且没有错误
- python - 合并列表的索引内容
- python - 替换数据框中列表的名称
- python - if/else 三元表达式中的 def
- python - 在抓取 html 表时动态跳过最后两行:BS4 Python
- prestashop - 通过在 prestashop 1.7 联系表单中添加新的自定义选项来编辑选择