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

use*_*784 3 databricks azure-databricks

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

%sh cd eventlogs/4246832951093966440 gunzip eventlog-2019-07-22--14-00.gz ls -l head -1 eventlog-2019-07-22--14-00 Version":"2.4.0","时间戳":1563801898572,"翻转次数":0,"SparkContext Id":4246832951093966440}

谢谢

CHE*_*SFT 5

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

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

转到 Azure Databricks 工作区 => 选择群集 => 单击驱动程序日志 => 下载到本地计算机。

在此处输入图片说明

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

  • 标准输出

  • 标准误

  • Log4j 日志

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

选项 2:集群日志传送:

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

日志的目的地取决于集群 ID。如果指定的目的地是dbfs:/cluster-log-delivery,则0630-191345-leap375的集群日志会投递到dbfs:/cluster-log-delivery/0630-191345-leap375。

配置日志传送位置:

  1. 在集群配置页面上,单击高级选项切换。

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

  3. 选择目的地类型。

  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/

用户名:username@microsoft.com

密码:粘贴访问令牌

重复确认:粘贴访问令牌

  • 现在运行以下 cmdlet 将日志复制到本地计算机

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

在此处输入图片说明

希望这可以帮助。