azure - Pyspark - 通过 Synapse Notebook 读取 Log Analytics 表

标签 azure apache-spark pyspark azure-synapse azure-log-analytics

我正在尝试创建一个 pyspark 数据框,从 Synapse Notebook 读取日志分析表。

我使用了这段代码但没有成功:

df_lg_tb = spark.read.format("com.microsoft.kusto.spark.datasource") \
    .option("kustoCluster", "https://<workspace-id>.ods.opinsights.azure.com") \
    .option("kustoDatabase", "<my-log-analytics-database-name>") \
    .option("kustoQuery", "AzureActivity|take 10") \
    .option("kustoAADUserId", "<workspace-id>") \
    .option("kustoAADPassword", "<workspace-key>") \
    .load()

有人知道另一种连接方法吗?

非常感谢!

最佳答案

在运行上述代码之前,请确保您已添加日志分析工作区连接

https://ade.loganalytics.io/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/microsoft.operationalinsights/workspaces/<workspace_name>

到 kustos 集群,如下所示。

enter image description here

检查您是否拥有所有必需的权限和角色,并尝试运行上述代码。

如果这不起作用,您可以尝试以下方法作为解决方法。

  • 使用Python SDK通过传递查询来读取表数据。经历这个Documentation samples了解它。
  • 首先将日志分析表数据导出到存储帐户,然后通过挂载将数据从存储帐户读取到 Synapse Notebook。引用这个blog作者:@Shemer Steinlauf 了解详细步骤。

关于azure - Pyspark - 通过 Synapse Notebook 读取 Log Analytics 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76152952/

相关文章:

Azure将免费提供5GB带宽且没有数据库?

azure - 类型或命名空间名称 'Diagnostics' 在命名空间 'Microsoft.WindowsAzure' 中不存在

sql-server - 如何查看Azure SQL Server实例中授予任何数据库用户的角色和权限?

java - Spark Streaming/Kafka 偏移量处理

apache-spark - AWS Emr pyspark卡在收集电话上

python - azure 函数绑定(bind)日期时间昨天

scala - 如何将字符串作为包含多个字符串的参数

apache-spark - 我可以动态更改 SparkContext.appName 吗?

azure - 使用pyspark从Azure blob存储读取(txt,csv)文件

python - 创建一个 bool 列,如果其他列包含 Pyspark 中的特定字符串,则填充它