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

How can I connect to an on-prem windows server from azure databricks notebook using python?

需要在 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 目录中搜索。连接本身没有发生。我是数据块领域的初学者。任何帮助将不胜感激。

开箱即用是不可能的,因为该服务器是内部部署的,而 Databricks 在云端,对您的内部部署环境一无所知。

你有两个选择:

  1. 您需要将文件上传到DBFS,然后访问它们。例如,您可以通过 UI - 通过 DBFS 文件浏览器(docs) or via Upload Data UI (docs). If you have a lot of files is huge, then you can use something like az-copy 将文件上传到 Azure 存储

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

我建议选择第一个选项。