【问题标题】:NLTK Dependency issue on ADLAADLA 上的 NLTK 依赖问题
【发布时间】:2018-03-13 12:07:11
【问题描述】:

我正在尝试使用 python 使用来自天蓝色数据湖分析的 nltk。我已经关注 this link 使用 U-SQL 的自定义 Python 库。我已经压缩了 NLTK 的源代码并使用 DeployResource 使用它。源码依赖nltk_data文件夹,部署在顶点上但位置未知。

以下是我正在执行的 U-SQL 代码。

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_data。如何获取 nltk_data 位于顶点的路径?

【问题讨论】:

标签: python nltk azure-data-lake


【解决方案1】:

我认为你没有设置正确的路径

sys.path.insert(0, '/FeedbackAnalysisService/Assemblies/nltk.zip')

试试上面的,它应该可以工作。

【讨论】:

  • 我可以在顶点上成功部署nltk并使用它。 Nltk 依赖于 nltk_data,它在路径列表中搜索 nltk_data,我们也可以在其中添加自定义路径。到目前为止,我可以部署 nltk 和 nltk_data,但问题在于部署 nltk_data 的路径。
【解决方案2】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多