Массовая загрузка данных Apache Phoenix - не может использовать имя таблицы маленькой буквой

У меня есть таблица Phoenix abc, я хочу массовую загрузку данных через MapReduce, а затем использовал следующую команду для загрузки файла CSV

Jadoop Jar /root/Phoenix/apache-phoenix-4.8.0-HBase-0.98-bin/phoenix-4.8.0-HBase-0.98-client.jar org.apache.phoenix.mapreduce.CsvBulkLoadTool --t abc --input /example.csv

но, кажется, не найти таблицу ABC

Исключение в потоке "main" java.lang.IllegalArgumentException: таблица ABC не найдена

я пытаюсь изменить имя таблицы команд --t 'abc' и --t "abc", но это не работает, как я могу использовать имя таблицы маленькой буквы??

А также, я нашел такой же случай

http://apache-phoenix-user-list.1124778.n5.nabble.com/Load-into-Phoenix-table-via-CsvBulkLoadTool-cannot-find-table-and-fails-td2792.html

Спасибо

1 ответ

Я получил ту же ошибку, после долгих отладок я понял, что Phoenix преобразует введенный вами "abc" во все заглавные буквы "ABC" и пытается найти таблицу с этим именем. И Феникс чувствителен к регистру, как упомянуто здесь.

Попробуйте создать свою таблицу в оболочке феникса со всеми заглавными буквами, а затем выполните ту же команду, она должна работать нормально.

Создание примера таблицы и массовая загрузка через mapreduce:

CREATE TABLE "CODEFREQUENCY" (pk VARCHAR PRIMARY KEY,"week"."weekNum" VARCHAR,"week"."addition" VARCHAR,"week"."deletion" VARCHAR);

HADOOP_CLASSPATH=$(hbase mapredcp):~/Installs/Hbase/conf/:~/Installs/apache-phoenix-4.10.0-HBase-1.2-bin/ ./hadoop jar ~/Installs/apache-phoenix-4.10.0-HBase-1.2-bin/phoenix-4.10.0-HBase-1.2-client.jar org.apache.phoenix.mapreduce.CsvBulkLoadTool -Dfs.permissions.umask-mode=000 -d $'\t' -t CODEFREQUENCY --input /hbase/Code_Frequency.csv
Другие вопросы по тегам