Databricks - 如何将驱动程序日志复制到我的机器?

Databricks - How can I copy driver logs to my machine?

我可以在数据块驱动程序节点上使用 %sh 命令查看日志。 如何将它们复制到我的 windows 机器上进行分析?

%sh CD eventlogs/4246832951093966440 gunzip eventlog-2019-07-22--14-00.gz ls -l head -1 eventlog-2019-07-22--14-00 版本":"2.4.0","Timestamp":1563801898572,"Rollover Number":0,"SparkContext Id":4246832951093966440}

谢谢

有多种方法可以将驱动程序日志复制到本地计算机。

选项 1:集群驱动程序日志:

转到 Azure Databricks Workspace => Select 集群 => 单击驱动程序日志 => 下载到本地计算机。

您的笔记本和库中的直接打印和日志语句进入驱动程序日志。日志具有三个输出:

  • 标准输出

  • 标准错误

  • Log4j 日志

日志文件会定期轮换。较旧的日志文件显示在页面顶部,列出了时间戳信息。您可以下载任何日志以进行故障排除。

选项 2:集群日志传送:

创建集群时,您可以指定一个位置来传送Spark驱动程序和工作日志。日志每五分钟传送到您选择的目的地。当集群终止时,Databricks 保证传送集群终止前生成的所有日志。

日志的目的地取决于集群 ID。如果指定的目标是 dbfs:/cluster-log-delivery,则 0630-191345-leap375 ​​的集群日志将传送到 dbfs:/cluster-log-delivery/0630-191345-leap375.

配置日志传送位置:

  1. 在集群配置页面上,单击“高级选项”开关。

  2. 在页面底部,单击“日志记录”选项卡。

  3. Select 目标类型。

  4. 输入集群日志路径。

要将集群日志下载到本地计算机:

安装 Databricks CLI,使用您的 Databricks 凭据对其进行配置,然后使用 CLI 的 dbfs cp 命令。例如:dbfs cp dbfs:/FileStore/azure.txt ./azure.txt.

如果要下载整个文件夹的文件,可以使用dbfs cp -r <DBFS Path> <LocalPath>

Databricks 主机(应以 https:// 开头):https://centralus.azuredatabricks.net/

用户名:用户名@microsoft.com

密码:粘贴访问令牌

重复确认:粘贴访问令牌

  • 现在 运行 下面的 cmdlet 将日志复制到本地机器

dbfs cp -r dbfs:/cluster-logs/0731-081420-tees851/driver C:\Users\Azure\Desktop\Logs

希望对您有所帮助。