我现有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” 但它不起作用 我怎么能用表名小写字母??
而且,我发现同样的情况
谢谢
答案 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