使用 azure databricks 读取 azure databricks 日志 json 文件

     2023-02-19     286

关键词:

【中文标题】使用 azure databricks 读取 azure databricks 日志 json 文件【英文标题】:Reading azure databricks logs json file using azure databricks 【发布时间】:2022-01-01 22:00:58 【问题描述】:

我已通过启用诊断设置将数据块日志发送到存储帐户,现在我必须使用 azure 数据块读取这些日志以进行高级分析。当我尝试安装路径时它可以工作但读取不会工作。

step 1- 

containerName = "insights-logs-jobs"
storageAccountName = "smk"
config = "fs.azure.sas." + containerName+ "." + storageAccountName + ".blob.core.windows.net"
sas = "sp=r&st=2021-12-07T08:07:08Z&se=2021-12-07T16:07:08Z&spr=https&sv=2020-08-04&sr=b&sig=3skdlskdlkf5tt3FiR%2FLM%3D"
spark.conf.set(config,sas)

step 2 

df = spark.read.json("wasbs://insights-logs-jobs.gtoollogging.blob.core.windows.net/resourceId=/SUBSCRIPTIONS/xxxBD-3070-4AFD-A44C-3489956CE077/RESOURCEGROUPS/xxxx-xxx-RG/PROVIDERS/MICROSOFT.DATABRICKS/WORKSPACES/xxx-ADB/y=2021/m=12/d=07/h=00/m=00/*.json")


Getting below error

 shaded.databricks.org.apache.hadoop.fs.azure.AzureException: Unable to access container $root in account insights-logs-jobs.gtjjjng.blob.core.windows.net using anonymous credentials, and no credentials found for them  in the configuration.
    at shaded.databricks.org.apache.hadoop.fs.azure.AzureNativeFileSystemStore.connectUsingAnonymousCredentials(AzureNativeFileSystemStore.java:796)
    at shaded.databricks.org.apache.hadoop.fs.azure.AzureNativeFileSystemStore.createAzureStorage.

尝试了很多方法,但都低于错误。 [![在此处输入图片描述][1]][1]

【问题讨论】:

请确认存储账户中的数据格式。大多数集群日志以 parquet 格式存储。 不,它在 json 文件中生成 yy/mm/dd/hh 格式为 json。这是以下路径 resourceId=/SUBSCRIPTIONS/dklgd-3070-4AFD-A44C-3489956CE077/RESOURCEGROUPS/xyz- PROD-RG/PROVIDERS/MICROSOFT.DATABRICKS/WORKSPACES/xyz-PROCESS-PROD-ADB/y=2021/m=10/d=07/h=10/m=00/PT1H.JSON 【参考方案1】:

借助以下代码,我可以使用 pyspark 从 Azure 存储帐户读取数据。

df = spark.read.json("wasbs://container_@storage_account.blob.core.windows.net/sub_folder/*.json")
df.show()

这为我提供了终端中所有 json 文件的完整数据。

或者您可以通过以下方式尝试:

storage_account_name = "ACC_NAME"
storage_account_access_key = "ACC_key"

spark.conf.set(
  "fs.azure.account.key."+storage_account_name+".blob.core.windows.net",
  storage_account_access_key)

file_type = "json"
file_location = "wasbs://location/path"


df = spark.read.format(file_type).option("inferSchema", "true").load(file_location)

【讨论】:

当您尝试从存储帐户读取数据时,这些语法将起作用,但我正在尝试读取通过启用日志存储帐户名称的诊断抽动设置发送的日志。我也已经给出了完整的路径。 编辑了我的问题,尝试了 sas 令牌方法,但无法读取存储帐户中存在的数据块日志【参考方案2】:

这就是 databricks 挂载的工作方式。

如果您尝试在现有挂载点内创建挂载点,例如:

将一个存储帐户挂载到/mnt/storage1

将第二个存储帐户挂载到/mnt/storage1/storage2

原因:这将失败,因为 Databricks 不支持嵌套安装。推荐一个是为每个存储对象创建单独的挂载条目。

例如:

将一个存储帐户挂载到/mnt/storage1

将第二个存储帐户挂载到/mnt/storage2

您可以参考:Link

作为解决方法 - 您可以从存储帐户本身读取它以进行处理而不是挂载。

【讨论】:

如何使用 SAS 读取 Azure databricks 中的 blob

】如何使用SAS读取Azuredatabricks中的blob【英文标题】:HowtoreadablobinAzuredatabrickswithSAS【发布时间】:2020-07-0719:22:41【问题描述】:我是Databricks的新手。我编写示例代码来读取AzureDatabricks中的存储Blob。blob_account_name="sars"blob_container_n... 查看详情

如何在 Azure Databricks 中使用 JDBC 从 PostgreSQL 读取表数据?

】如何在AzureDatabricks中使用JDBC从PostgreSQL读取表数据?【英文标题】:HowtoreadtabledatafromPostgreSQLusingJDBCinAzureDatabricks?【发布时间】:2020-09-0503:03:32【问题描述】:我正在尝试使用pyspark读取Azure云订阅中可用的postgreSQL表,但出现以... 查看详情

无法在 azure databricks 中使用 spark 读取 csv 文件

】无法在azuredatabricks中使用spark读取csv文件【英文标题】:Unabletoreadcsvfileusingsparkreadinazuredatabricks【发布时间】:2020-06-0108:50:07【问题描述】:我的数据位于azurecosmosDB中,我已将数据集安装在azuredatabricks上。我可以使用pandas读取c... 查看详情

使用 Azure EventHubs Capture 生成的 Azure Data Lake Gen1 中的 Databricks 读取 avro 数据失败

】使用AzureEventHubsCapture生成的AzureDataLakeGen1中的Databricks读取avro数据失败【英文标题】:ReadingavrodatawithDatabricksfromAzureDataLakeGen1generatedbyAzureEventHubsCapturefails【发布时间】:2019-12-0115:39:14【问题描述】:我正在尝试从AzureDataLakeGen1读... 查看详情

从 Azure Databricks 读取 Azure Datalake Gen2 映像

】从AzureDatabricks读取AzureDatalakeGen2映像【英文标题】:ReadAzureDatalakeGen2imagesfromAzureDatabricks【发布时间】:2020-05-0802:53:45【问题描述】:我正在处理存储在AzureDataLakeGen2中的.tif文件。想要使用AzureDatabricks中的rasterio打开此文件。例... 查看详情

使用 Azure databricks /Synapse notebooks 中的 Json.load 从 Azure datalake 读取 Json 文件作为文件

】使用Azuredatabricks/Synapsenotebooks中的Json.load从Azuredatalake读取Json文件作为文件【英文标题】:ReadingJsonfilefromAzuredatalakeasafileusingJson.loadinAzuredatabricks/Synapsenotebooks【发布时间】:2021-12-2916:09:52【问题描述】:我正在尝试解析具有多... 查看详情

Azure Datalake Store Gen2 使用 scala spark 库从 Databricks 读取文件

】AzureDatalakeStoreGen2使用scalaspark库从Databricks读取文件【英文标题】:AzureDatalakeStoreGen2readfilesfromDatabricksusingascalasparklibrary【发布时间】:2020-06-2808:22:42【问题描述】:我正在尝试在AzureDatabricks(不是笔记本)上部署Scala库来执行... 查看详情

从 Azure Databricks 中的 azure 存储容器读取文件并修改文件名

】从AzureDatabricks中的azure存储容器读取文件并修改文件名【英文标题】:ReadfilesAndModifyfilenamefromtheazurestoragecontainersinAzureDatabricks【发布时间】:2020-10-1306:46:46【问题描述】:我正在摄取大型XML文件并根据XML元素生成单独的JSON,我... 查看详情

更改同一单元格中的魔术标签 - Azure Databricks

】更改同一单元格中的魔术标签-AzureDatabricks【英文标题】:Changingthemagictagsinsamecell-AzureDatabricks【发布时间】:2021-09-1705:27:18【问题描述】:我正在使用AzureDatabricks并获取了Spark数据帧,需要将其转换为Rdata.frame。当我在同一个单... 查看详情

如何使用 Azure databricks 通过 ADLS gen 2 中的多个工作表读取和写入 excel 数据

】如何使用Azuredatabricks通过ADLSgen2中的多个工作表读取和写入excel数据【英文标题】:HowtouseAzuredatabrickstoreadandwriteexceldatawithmultiplesheetsfromADLSgen2【发布时间】:2021-10-2717:19:29【问题描述】:我想使用pyspark在Azure数据块中实现以下... 查看详情

Azure databricks - 无法使用来自 datalake 存储 gen2 服务的 spark 作业读取 .csv 文件

】Azuredatabricks-无法使用来自datalake存储gen2服务的spark作业读取.csv文件【英文标题】:Azuredatabricks-notabletoread.csvfilesusingsparkjobsfromdatalakestoragegen2service【发布时间】:2021-02-1811:22:57【问题描述】:我有一个运行良好的数据块集群。... 查看详情

Azure Databricks Spark XML 库 - 尝试读取 xml 文件

】AzureDatabricksSparkXML库-尝试读取xml文件【英文标题】:AzureDatabricksSparkXMLLibrary-Tryingtoreadxmlfiles【发布时间】:2019-03-0816:20:55【问题描述】:我正在尝试创建一个databricks笔记本以从AzureDataLake读取xml文件并转换为镶木地板。我从这... 查看详情

尝试访问 Azure Databricks 中的 Azure DBFS 文件系统时出现挂载错误

】尝试访问AzureDatabricks中的AzureDBFS文件系统时出现挂载错误【英文标题】:mounterrorwhentryingtoaccesstheAzureDBFSfilesysteminAzureDatabricks【发布时间】:2020-03-1816:27:53【问题描述】:我能够与我的DatabricksFileStoreDBFS建立连接并访问文件存储... 查看详情

在 Azure Databricks 中的日期范围之间读取镶木地板文件的有效方法

】在AzureDatabricks中的日期范围之间读取镶木地板文件的有效方法【英文标题】:EfficientwayofreadingparquetfilesbetweenadaterangeinAzureDatabricks【发布时间】:2019-02-2816:39:07【问题描述】:我想知道下面的伪代码是否是从PySpark(AzureDatabricks... 查看详情

使用 Databricks 中的原始 SQL 直接查询存储在 Azure Data Lake 中的 avro 数据文件

】使用Databricks中的原始SQL直接查询存储在AzureDataLake中的avro数据文件【英文标题】:QueryingavrodatafilesstoredinAzureDataLakedirectlywithrawSQLfromDatabricks【发布时间】:2020-06-1822:13:19【问题描述】:我正在使用DatabricksNotebooks读取存储在AzureD... 查看详情

如何强制 Azure 数据工厂数据流使用 Databricks

】如何强制Azure数据工厂数据流使用Databricks【英文标题】:HowtoforceAzureDataFactoryDataFlowstouseDatabricks【发布时间】:2019-09-2819:36:06【问题描述】:我正在使用Azure数据工厂及其新的数据流功能。这是一个应该使用Databricks进行数据转... 查看详情

使用 databricks-connect 的 Azure 数据块连接

】使用databricks-connect的Azure数据块连接【英文标题】:AzureDatabrickconnectionusingdatabricks-connect【发布时间】:2020-06-1803:44:47【问题描述】:我正在关注https://docs.databricks.com/dev-tools/databricks-connect.html以连接azuredatabricks#creatingenvironme 查看详情

使用存储帐户作为数据层的 Azure Databricks

】使用存储帐户作为数据层的AzureDatabricks【英文标题】:AzureDatabrickswithStorageAccountasdatalayer【发布时间】:2021-08-1420:41:18【问题描述】:我刚刚开始进行需要使用AzureDatabricks分析大量数据的数据分析。在计划使用Databricks笔记本进... 查看详情