Python ADLA上的NLTK依赖性问题
我正在尝试使用python使用azure data lake analytics中的nltk。我遵循了将自定义Python库与U-SQL结合使用的原则。我压缩了NLTK的源代码,并使用了部署资源。源代码依赖于nltk_数据文件夹,该文件夹部署在顶点上,但其位置未知 下面是我正在执行的U-SQL代码Python ADLA上的NLTK依赖性问题,python,nltk,azure-data-lake,Python,Nltk,Azure Data Lake,我正在尝试使用python使用azure data lake analytics中的nltk。我遵循了将自定义Python库与U-SQL结合使用的原则。我压缩了NLTK的源代码,并使用了部署资源。源代码依赖于nltk_数据文件夹,该文件夹部署在顶点上,但其位置未知 下面是我正在执行的U-SQL代码 REFERENCE ASSEMBLY [ExtPy]; DEPLOY RESOURCE @"/FeedbackAnalysisService/Assemblies/nltk. DEPLOY RESO
REFERENCE ASSEMBLY [ExtPy];
DEPLOY RESOURCE @"/FeedbackAnalysisService/Assemblies/nltk.
DEPLOY RESOURCE @"/FeedbackAnalysisService/Assemblies/nltk_data.zip";
DECLARE @myScript = @"
import sys
sys.path.insert(0, 'nltk.zip')
import nltk
def usqlml_main(df):
del df['number']
df['hello_world'] = nltk.word_tokenize('hello world')
return df
";
@rows =
SELECT * FROM (VALUES (1)) AS D(number);
@rows =
REDUCE @rows ON number
PRODUCE hello_world string
USING new Extension.Python.Reducer(pyScript:@myScript);
OUTPUT @rows
TO "/demo_python_custom_module.csv"
USING Outputters.Csv(outputHeader: true);
我得到以下错误:
Error|Running| File "nltk.zip\nltk\data.py", line 673, in find
Error|Running| raise LookupError(resource_not_found)
Error|Running| Searched in:
Error|Running| - '/home//nltk_data'
Error|Running| - 'C:\\nltk_data'
Error|Running| - 'D:\\nltk_data'
Error|Running| - 'E:\\nltk_data'
Error|Running| - 'D:\\Data\\Temp\\f40f07f586ce4469ac593a701790ba00\\3.5.1\\nltk_data'
Error|Running| - 'D:\\Data\\Temp\\f40f07f586ce4469ac593a701790ba00\\3.5.1\\lib\\nltk_data'
Error|Running| - 'C:\\Windows\\system32\\config\\systemprofile\\AppData\\Roaming\\nltk_data'
Error|Running| - ''
问题:
我尝试在本地执行它,它运行时没有任何错误,但当我在云上运行脚本时,我得到了错误,因为它无法找到nltk_数据。如何获取nltk_数据位于顶点上的路径?我认为您没有设置正确的路径
sys.path.insert(0,“/FeedbackAnalysisService/Assemblies/nltk.zip”)
请尝试上面的方法,它应该会起作用。下面是说明如何导入自定义软件包的文档链接
请查看关于我可以在vertex上成功部署nltk并使用它的答案。Nltk依赖于Nltk_数据,它在路径列表中搜索Nltk_数据,我们也可以在其中添加自定义路径。到目前为止,我可以部署nltk和nltk_数据,但问题在于部署nltk_数据的路径。