我在 Windows 8 系统中安装了单节点HDInsight Emulator 。我想以编程方式在 HDInsight Emulator 中提交配置单元查询。请建议我使用C#提交 Hive 查询的一些方法。
问问题
2694 次
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 回答