Умный доступ к данным SAP HANA: невозможно подсчитать строки виртуальной таблицы (Hive)

У меня есть виртуальная машина HANA Express, с которой я хочу взаимодействовать с кластером Hadoop. У меня есть таблица Hive, которую я подключил через Smart Data Access (SDA) к HANA. С виртуальной таблицей все работает нормально, я могу использовать SAP HANA Studio для запроса данных Hive (select операторы), но когда я пытаюсь подсчитать строки таблицы, я получаю исключение в моей HANA Studio:

SELECT count(*) FROM "SYSTEM"."orctable";

приводит к следующему исключению:

Could not execute 'SELECT count(*) FROM "SYSTEM"."orctable"' in 602 ms 558 µs . 
SAP DBTech JDBC: [403]: internal error: Error opening the cursor for the remote database [Hortonworks][Hardy] (35) Error from server: error code: '0' error message: 'ExecuteStatement finished with operation state: ERROR_STATE'. for query "SELECT COUNT(*) FROM HIVE.default.orctable orctable "

Я также добавил новую виртуальную таблицу, используя заглавные буквы для имени виртуальной таблицы (ORCTABLE) в HANA, так как HANA использует прописные буквы по умолчанию, та же ошибка! Другие попытки:

  • SELECT count(1) FROM "SYSTEM"."orctable"
  • SELECT count(columnA) FROM "SYSTEM"."orctable"
  • SELECT count(A.*) FROM "SYSTEM"."orctable" as A
  • ...

Когда я звоню select count(*) from orctable из моего интерфейса Hive все работает нормально.

Я также нашел этот учебник, где SELECT COUNT(*) сделано против виртуальной таблицы Hive: https://blogs.sap.com/2014/06/02/sap-hana-smart-data-access3-how-to-access-hadoop-data-through-hive-with-sda/

Я использую последнюю виртуальную машину HANA Express, драйвер Hive ODBC v2.1.7 для SUSE 12 и кластер HDP 2.5 с Hive 1.2.1.

Есть ли у кого-то еще эта проблема или предположение, почему это не работает или уже есть решение?

2 ответа

Решение

Найден обходной путь:

SELECT COUNT(*) FROM (SELECT * FROM "SYSTEM"."orctable");

Вы пытались запустить оператор в журнале ошибок от Hive UI?

ВЫБЕРИТЕ СЧЕТЧИК (*) ОТ HIVE.default.orctable orctable

И работает ли простой выбор без подсчета?

Другие вопросы по тегам