0

我在 Windows 8 系统中安装了单节点HDInsight Emulator 。我想以编程方式在 HDInsight Emulator 中提交配置单元查询。请建议我使用C#提交 Hive 查询的一些方法。

4

3 回答 3

2

您可以使用最新的语法传入 BasicAuthCredentials:

        var creds = new BasicAuthCredential();
        creds.UserName = "hadoop";
        creds.Password = "";
        creds.Server = new Uri("http://localhost:50111");
        var jobClient = JobSubmissionClientFactory.Connect(creds);
        var hiveJob = new HiveJobCreateParameters()
        {
            Query = "select * from hivesampletable limit 10;",
            StatusFolder = "/samplequeryoutput"
        };
        var jobResults = jobClient.CreateHiveJob(hiveJob);
于 2014-08-11T22:01:32.240 回答
0

安装Microsoft .Net API for Hadoop WebClient包,该包提供了使用 REST API 向集群提交作业的功能:

Install-Package Microsoft.Hadoop.WebClient

创建一个WebHCatHttpClient对象并为其提供集群的 URL、用户名和密码(以下是默认值):

var client = new WebHCatHttpClient(new Uri("http://localhost:50111"), "hadoop", null);

提交 Hive 作业,例如列出所有 Hive 表并将它们打印到控制台:

client.CreateHiveJob("show tables;", null, null, "/queryresult", null);
  .ContinueWith(httpResponseTask => httpResponseTask.Content.ReadAsStringAsync()
     .ContinueWith(outputTask => Console.Out.WriteLine(outputTask.Result)));
于 2014-02-28T16:33:03.677 回答
0

我还没有看到一个这样做的样本。但是您可以在以下位置提交有关提交 Hive 作业的 C# .NET SDK 示例:

以编程方式提交 Hadoop 作业 http://www.windowsazure.com/en-us/documentation/articles/hdinsight-submit-hadoop-jobs-programmatically/#hive-sdk

在下面的文章中,您将了解如何为模拟器创建凭证对象和 URL:

开始使用 HDInsight 模拟器 http://www.windowsazure.com/en-us/documentation/articles/hdinsight-get-started-emulator/#powershell

于 2014-02-25T13:14:19.580 回答