Apache Phoenix批量数据加载 - 不能使用小写字母

时间:2016-12-16 08:38:25

标签: phoenix bulk-load bulkloader

我现有Phoenix table 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 /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 个答案:

答案 0 :(得分:0)

我得到了同样的错误,经过大量调试后我意识到phoenix将你输入“abc”转换为所有大写字母“ABC”并尝试查找具有此名称的表格。如上所述,凤凰城区分大小写here

尝试使用全部大写在phoenix shell中创建表,然后运行相同的命令,它应该可以正常工作。

通过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