Можно ли использовать пакет SDK Hadoop, особенно LINQ to Hive, с локальной установкой HDInsight Server. Обратите внимание, что я не имею в виду службу HDInsight, размещенную в Azure.
Я пытался использовать LINQ to Hive из пакета Nuget Microsoft.Hadoop.Hive, но не смог заставить его работать, поскольку LINQ to Hive, по-видимому, требует, чтобы результаты сохранялись в хранилище BLOB-объектов Azure, а не в моем размещенном экземпляре.
var hiveConnection = new HiveConnection(new Uri("http://hadoop-poc.cloudapp.net:50111"), "hadoop", "hgfhdfgh", "hadoop", "hadooppartner", "StorageKey");
var metaData = hiveConnection.GetMetaData().Result;
var result = hiveConnection.ExecuteQuery(@"select * from customer limit 1");
Даже с ключом хранилища я не могу заставить это работать, потому что задание MapReduce завершается с ошибкой:
AzureException: org.apache.hadoop.fs.azure.AzureException: Container a7e3aa39-75ba-4cc2-a8aa-301257018146 in account hadooppartner not found, and we can't create it using anoynomous credentials.
Я также добавил учетные данные еще раз в файл core-site.xml
следующим образом:
<property>
<name>fs.azure.account.key.hadooppartner.blob.core.windows.net</name>
<value>Credentials</value>
</property>
Однако я бы предпочел избавиться от хранения результатов в хранилище Azure, если это возможно.
Спасибо за помощь!