如何使用 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 服务器?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 或 Java 从本地将数据上传到 Azure ADLS Gen2
使用 Python Qpid/Proton/Messenger(),如何过滤来自 Azure 事件中心的消息?
Azure Functions HTTP 触发器:如何将异常从 python 工作日志返回给 API 调用者
如何从 Azure blob 数据存储中获取 Python pathlib 路径?