首页 文章

无法使用自定义程序集访问U-SQL代码隐藏中的cutom文件?

提问于
浏览
1

我正在U-SQL中注册和使用自定义程序集来访问文件以从中获取数据 . 在使用它的依赖项注册程序集时,数据文件将作为“添加文件”上载(我正在使用VS 2015) .

但是,作业因System.IO.FileNotFoundException而失败,自定义程序集无法找到该文件 . 访问该文件的方法引发异常 .

有没有特定的方法来访问该文件?或者它必须放在特定的位置?

该文件与自定义程序集位于同一目录中,并且它是数据存储库中的依赖项,如果这是相关详细信息 .

1 回答

  • 1

    发现了问题 . 我在注册程序集时由Visual Studio自动生成以下脚本:

    USE DATABASE [master];
    DROP ASSEMBLY IF EXISTS  [MaxMind.Db];
    CREATE ASSEMBLY [MaxMind.Db] FROM @"swebhdfs://exploreadls.azuredatalakestore.net/assemblies/MaxMind.Db.dll"
    WITH ADDITIONAL_FILES = (@"swebhdfs://exploreadls.azuredatalakestore.net/assemblies/GeoLite2-City.mmdb" AS "GeoLite2-City");
    

    请注意,第二个文件注册为AS“GeoLite2-City”而没有“.mmdb”扩展名,程序集使用完全限定名访问该文件 .

    我不得不改变这个脚本并重新运行它,之后它完美地运行了 .

    您可以通过访问ADLS帐户并选择“查看所有作业” - >“查看脚本”来查看Visual Studio通过门户提交的作业,并可以“复制脚本”将其用于其他作业 .

相关问题