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

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

hadoop 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 /пример.csv

но, кажется, не находит таблицу abc

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

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

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

http://i%20have%20existing%20Phoenix%20table%20abc%20i%20wanna%20Bulk%20Data%20Loading%20через%20MapReduce%20And%20then%20используется%20%20следует%20команда%20to%20load%20the%20csv%20file%20hadoop%20jar%20/root/Phoenix/apache-phoenix-4.8.0-HBase-0.98-bin/phoenix-4.8.0-HBase-0.98-client.jar%20org.apache.phoenix.mapreduce.CsvBulkLoadTool%20--t%20abc%20--input%20/example.csv%20но,%20it%20делает%20не%20кажется%20на%20найти%20%20таблица%20abc%20Exception%20in%20thread%20%22main%22%20java.lang.IllegalArgumentException:%20Table%20ABC%20not%20found%20i%20try%20change%20command%20table%20name%20--t%20

Спасибо


person judid    schedule 16.12.2016    source источник
comment
Я сделал нечто подобное и смог воспроизвести проблему, о которой вы говорите. Но я думаю, что в параметре задания вы можете использовать строковый метод toUpperCase для того же. Я верю, что это сработает.   -  person Sonu    schedule 26.12.2016


Ответы (1)


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

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

Пример создания таблицы и массовая загрузка через 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
person Piyush Saxena    schedule 24.04.2017