如何使用 python 从 azure databricks notebook 连接到本地 Windows 服务器?

Posted

技术标签:

【中文标题】如何使用 python 从 azure databricks notebook 连接到本地 Windows 服务器?【英文标题】:How can I connect to an on-prem windows server from azure databricks notebook using python? 【发布时间】:2021-08-09 07:36:20 【问题描述】:

需要在 azure databricks 和本地 Windows 服务器之间建立连接。我尝试了下面的python代码:

import os

filePath = "\\\\SERVER001\\folder\\"
fileExtension = ".xml"

def get_file_count(filePath, fileExtension):
  try:
    fileCount = len([name for name in os.listdir(filePath) if name.endswith(fileExtension)])
    print(fileCount)
  except Exception as e:
    print(str(e))
get_file_count(filePath, fileExtension)

但它给了我错误:

[Errno 2] No such file or directory: '\\\\SERVER001\\folder\\'

我猜它正在数据块目录中搜索。连接本身没有发生。我是databricks领域的初学者。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

不可能开箱即用,因为该服务器在本地,而 Databricks 在云中,对您的本地环境一无所知。

你有两个选择:

    您需要将文件上传到 DBFS,然后访问它们。例如,您可以通过 UI - 通过 DBFS 文件浏览器 (docs) 或通过上传数据 UI (docs) 执行此操作。如果您有很多文件很大,那么您可以使用 az-copy 之类的东西将文件上传到 Azure 存储

    理论上,您可以将网络环境设置为 connect to on-premise via ***(您需要带有“自带 VNet”的工作区),然后访问文件共享,但这可能具有挑战性,因为您需要确保拥有所有在防火墙等上打开必要的端口。

我会建议使用第一个选项。

【讨论】:

以上是关于如何使用 python 从 azure databricks notebook 连接到本地 Windows 服务器?的主要内容,如果未能解决你的问题,请参考以下文章