C# 无法对HDInsight中非默认容器中的配置单元表远程运行查询

C# 无法对HDInsight中非默认容器中的配置单元表远程运行查询,c#,hadoop,hive,azure-hdinsight,hcatalog,C#,Hadoop,Hive,Azure Hdinsight,Hcatalog,我正在尝试使用从.NET启动配置单元查询 挑战在于查询应该在一个外部表上运行,而该表不在默认的HDInsight容器中,因此我将容器的凭据添加到core site.xml,并重新启动了Hive的deamons 但是,我得到了以下错误: 容器。。。考虑到。。。找不到,我们无法使用 不一致的凭证 这是我的密码: var db = new MyHiveDatabase( new Uri("https://myclustername.azurehdinsight.net"), usern

我正在尝试使用从.NET启动配置单元查询

挑战在于查询应该在一个外部表上运行,而该表不在默认的HDInsight容器中,因此我将容器的凭据添加到
core site.xml
,并重新启动了Hive的deamons

但是,我得到了以下错误:

容器。。。考虑到。。。找不到,我们无法使用 不一致的凭证

这是我的密码:

var db = new MyHiveDatabase(
    new Uri("https://myclustername.azurehdinsight.net"),
    username,
    password,
    nonDefaultStorageAccount, nonDefaultStorageAcountKey);
    // I've also tried: defaultStorageAccount, defaultStorageAcountKey


var q = from x in db.ExternalTableName
        group x by x.Name
        into g
        select new {Name = g.Key, Count = g.Count()};

q.ExecuteQuery().Wait();
连接成功并创建了配置单元作业(我甚至可以看到带有查询的HQL文件),但配置单元作业将上述错误写入stderr


我花了几个小时试图解决这个问题,改变了这个和那个,我甚至尝试了
WebHCatHttpClient
而不是Linq,但都没有用。。。有什么想法吗?

您确定已经创建了蜂巢表吗?我不知道原因,但配置单元限制仅在“本地”模式下创建外部表

您可以使用invoke-hive PowerShell cmdlet运行配置单元查询,如“select count(*)from”,以进行验证


有关PowerShell或HDInsight.NET SDK示例的更多信息,请参阅。

该表是使用远程桌面直接在群集上创建的。选择是这样工作的。无论如何,我放弃了尝试,将所有数据移动到默认容器中。