在笔记本pySpark上运行dll文件

问题描述 投票:0回答:1

我想使用“clr”方法将基于 C# 代码的 dll 文件运行到我的 pySpark 笔记本(在 databricks 中)中。不幸的是,我无法弄清楚我的“程序集名称/.NET 引用”应该是什么。该文件位于正确的位置,并且当我尝试使用 C# 'Namespace.Class.Function' 或直接位置到文件时没有拼写错误(我已经尝试了多种方法,但仍然存在同样的问题)。

这是我的方法:

!pip install pythonnet

%sh
sudo apt-get update
sudo apt-get install -y mono-complete

%sh
echo '#!/bin/bash
sudo apt-get update
sudo apt-get install -y mono-complete' > conf/install_mono.sh
import os
import clr
import sys

# Set environment variables
os.environ["PYTHONNET_PYDLL"] = "dbfs:/FileStore/shared_uploads/[email protected]/SampleClassLibraryProject.dll"

# Add a reference to your .NET assembly
clr.AddReference("SampleClassLibraryProject") #Here is the problem!!!

# Set the .NET runtime based on environment variables
sys.path.append("/Users/admin/anaconda3/lib/python3.11/site-packages")  # Replace with your Python home path

# Now try importing the necessary module
from SampleClassLibraryProject.Algebra import Addition  # Import specific namespace and class

# Example usage:
result = Addition.Add(2, 3)
print(result)

错误信息:Error Message 文件路径位置:File path

pyspark dll databricks
1个回答
0
投票

不要使用

dbfs:/
作为文件路径的前缀 - 原因是 .Net 无法理解 DBFS 文件系统 URL,并且需要本地文件路径。
    

© www.soinside.com 2019 - 2024. All rights reserved.