2017-01-12 15 views
0

Извините, если это что-то просто, я просто не могу найти решение на google. Я начинаю с создания кода C# для подключения к серверу HBASE/Hadoop.C# Настройка вызова на сервер hbase с помощью бережливости - cant найти ссылку на: calculator.client

Я нашел несколько примеров, чтобы начать код/​​соединение. https://thrift.apache.org/tutorial/csharp

Я загрузил пакет nuget для Thrift и это работает. Я начинаю с самого начала, и вопрос заключается в том, что для этой строки ниже:

Calculator.Client client = new Calculator.Client(protocol); 

Получает ошибку (тип/пространство имен не может быть найден .. и т.д.).

Где/как добавить ссылку на этот класс? Я не могу найти его нигде, и мой поиск в Google не удался

Спасибо.

+0

Калькулятор не имеет ничего общего с hadoop. Сообщение об ошибке со словами «и т. Д.» Не слишком значимо. –

ответ

0

Учебник говорит, что это на шаге 2:

2.Generated в tutorial.thrift и shared.thrift файлов, как обсуждалось here.

thrift -r --gen csharp tutorial.thrift 

Это оставит вас с папкой генераторной Csharp, содержащий файлы, которые вы ищете.

+0

Спасибо, мне придется посмотреть на это, но я бы подумал, что где-то я мог бы просто скачать .dll вместо того, чтобы пройти все это, чтобы просто получить .dll для функции, в которой я нуждаюсь. У меня есть .dlls для бережливого языка из .nuget, но для этой части мне нужно пройти все это, похоже, я могу загрузить его откуда-то. – Brad

+0

Спасибо, мне кажется, что я пропал без вести, я получаю проблемы с памятью, но это не связано с моим первоначальным вопросом. Я бы подумал, что просто будет простое место для загрузки этих файлов, и вам не нужно будет проходить через все это. – Brad

+0

@Brad: Конечно, было бы здорово, если бы у нас был веб-сайт, который предлагает загрузку для каждой задачи, которую мы должны сделать, но этого не произойдет. Что касается Thrift (или SOAP, или REST и т. Д.): Если кто-то предлагает предварительно скомпилированную сборку для вашего варианта использования, то вам повезло. Но довольно часто это не так, потому что вся идея наличия ** независимого от языка, независимого от платформы API-контракта ** (файл '* .thift' IDL) состоит в том, чтобы ** включить ** столько же клиентов как можно использовать определенный API. Предварительная сборка для более 20 языков в версиях N на платформах M обычно не является частью этого. – JensG