【问题标题】:CreateJob for Azure Data Lake Analytics from C#使用 C# 为 Azure 数据湖分析创建作业
【发布时间】:2017-07-07 21:56:53
【问题描述】:

我正在尝试使用 C# api 和 DataLakeAnalyticsJobManagementClient 创建作业,但每次尝试均未成功,并显示错误消息:“作业定义无效。”。没有关于它无效的其他有用信息。这项工作是一项 U-SQL 工作,我开始在 azure 门户中创建它,它工作得很好,并且运行正常,没有错误。

我正在使用门户测试使用的相同信息构建 JobInformation 和 JobProperties,并且我知道 U-SQL 语句是有效的。

JobProperties props = new JobProperties(File.ReadAllText(@"C:\myusqlscript.usql"));
var myId = Guid.NewGuid();
JobInformation jobNfo = new JobInformation("mysamplejob", JobType.USql, props,myId) { DegreeOfParallelism = 1, Priority = 1000};

jobNfo.Validate();  //<--this doesn't throw an exception either

var jobs = await _adlaJobClient.Job.ListAsync("myanalyticsaccountname");
var adlaJob = await _adlaJobClient.Job.CreateAsync("myanalyticsaccountname", myId, jobNfo);

我尝试了构造函数和属性设置的各种组合,包括仅对某些属性使用默认值,但我得到了相同的结果:“无效的作业定义。”没有其他信息可以表明缺少信息或格式问题或类似问题。

是否有人使用 C# API 创建了 Azure Data Lake Analytics 作业?

【问题讨论】:

    标签: c# azure azure-data-lake


    【解决方案1】:

    是否有人使用 C# API 创建了 Azure Data Lake Analytics 作业?

    您需要使用 USqlJobProperties 而不是 JobProperties。

    var props = new USqlJobProperties(File.ReadAllText(@"C:\myusqlscript.usql"));
    

    Data Lake analytics get started .NET SDK的官方文档不可用。但我们也可以从本文档的histories 获得一些有用的示例代码。

    public static Guid SubmitJobByPath(string scriptPath, string jobName)
    {
        var script = File.ReadAllText(scriptPath);
        var jobId = Guid.NewGuid();
        var properties = new USqlJobProperties(script);
        var parameters = new JobInformation(jobName, JobType.USql, properties, priority: 1, degreeOfParallelism: 1, jobId: jobId);
        var jobInfo = _adlaJobClient.Job.Create(_adlaAccountName, jobId, parameters);
        return jobId;
    }
    

    【讨论】:

    猜你喜欢
    • 2018-11-26
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多