java.lang.IllegalArgumentException: таблица My_Table не найдена при вставке данных через PSQL в Apache Phoenix - PullRequest
0 голосов
/ 11 апреля 2019

Я нахожусь в процессе загрузки массовых данных через PSQL (psql.py) в Apache Phoenix, но по какой-то причине выдает мне эту ошибку:

java.lang.IllegalArgumentException: Table "My_Table" not found
at org.apache.phoenix.util.SchemaUtil.generateColumnInfo(SchemaUtil.java:887)
at org.apache.phoenix.util.CSVCommonsLoader.buildColumnInfoList(CSVCommonsLoader.java:259)
at org.apache.phoenix.util.CSVCommonsLoader.upsert(CSVCommonsLoader.java:206)
at org.apache.phoenix.util.CSVCommonsLoader.upsert(CSVCommonsLoader.java:182)
at org.apache.phoenix.util.PhoenixRuntime.main(PhoenixRuntime.java:273)

Согласно учебнику Phoenix https://phoenix.apache.org/Phoenix-in-15-minutes-or-less.html Мне нужно 3 файла;my_table.sql my_table.csv и my_table_queries.sql

и запустите следующую команду:

 ./psql.py <your_zookeeper_quorum> my_table.sql my_table.csv my_table_queries.sql

Содержимое этих файлов выглядит следующим образом:

my_table.sql

 CREATE TABLE IF NOT EXISTS "some_namespace:my_table" (id BIGINT NOT NULL, username VARCHAR NOT NULL, CONSTRAINT my_pk PRIMARY KEY (id, username));

my_table.csv

 1,Martha
 2,Scott
 3,David
 4,Alex
 5,Vicky

my_table_queries.sql

 SELECT id as "ID's", username as "User Name"
 FROM "some_namespace:my_table"
 GROUP BY id
 ORDER BY count(username) DESC;

И когда я обращаюсь к Phoenix через sqlline.py, таблица появляется, но без данныхсовсем.Должен ли я сначала создать таблицу или по-другому?

1 Ответ

1 голос
/ 11 апреля 2019

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

my_table.sql

 CREATE TABLE IF NOT EXISTS "MY_TABLE" (id BIGINT NOT NULL, username VARCHAR NOT NULL, CONSTRAINT my_pk PRIMARY KEY (id, username));

my_table_queries.sql:

 SELECT id as "ID's", username as "User Name"
 FROM "MY_TABLE"
 GROUP BY id
 ORDER BY count(username) DESC;

Об этом уже сообщалось: https://issues.apache.org/jira/browse/PHOENIX-3541?attachmentSortBy=dateTime

Также вы можете проверить объяснение чувствительности к регистру http://apache -phoenix-user-list.1124778.n5.nabble.com / Загрузить-into-Phoenix-table-via-CsvBulkLoadTool-not-find-table-and-fails-td2792.html

Теперь, если вы хотите загрузить объемные данные в HBASE с использованием файлов .csv, вы можетепопробуйте это: http://dwgeek.com/apache-hbase-bulk-load-csv-examples.html/

...