[ 
https://issues.apache.org/jira/browse/PHOENIX-6262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

zhengjiewen updated PHOENIX-6262:
---------------------------------
    Description: 
h1. Bulk Load in lowercase tablename

{color:#172b4d}when I use phoenix bulk load command to import csv file to 
phoenix table,{color} there{color:#172b4d} are get error.{color}
{code:java}
//代码占位符
Exception in thread "main" java.lang.IllegalArgumentException: Table 
"test"."ods_om_om_order_test" not foundException in thread "main" 
java.lang.IllegalArgumentException: Table "test"."ods_om_om_order_test" not 
found at 
org.apache.phoenix.util.SchemaUtil.generateColumnInfo(SchemaUtil.java:956) at 
org.apache.phoenix.mapreduce.AbstractBulkLoadTool.buildImportColumns(AbstractBulkLoadTool.java:377)
 at 
org.apache.phoenix.mapreduce.AbstractBulkLoadTool.loadData(AbstractBulkLoadTool.java:211)
 at 
org.apache.phoenix.mapreduce.AbstractBulkLoadTool.run(AbstractBulkLoadTool.java:180)
 at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at 
org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90) at 
org.apache.phoenix.mapreduce.CsvBulkLoadTool.main(CsvBulkLoadTool.java:109) at 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498) at 
org.apache.hadoop.util.RunJar.run(RunJar.java:313) at 
org.apache.hadoop.util.RunJar.main(RunJar.java:227)
{code}
my command is :
{code:java}
hadoop jar 
/opt/cloudera/parcels/CDH/lib/hbase/lib/phoenix-5.0.0-cdh6.2.0-client.jar 
org.apache.phoenix.mapreduce.CsvBulkLoadTool -s \"\"test\"\" -t 
\"\"ods_om_om_order_test\"\" -i 
/tmp/phoenix/ods_om_om_order_test5/data.csv{code}
{color:#172b4d}And I found the source code have a bug in 
*org.apache.phoenix.jdbc.PhoenixDatabaseMetaData#*{color}*getColumns.*

This method splices the tableName and schemaName into SQL statements to query 
the System.catalog. but if your tableName or schemaName is lowercase,that would 
be the *'"test"'* and *'"ods_om_om_order_test"'* so that will can not query the 
result and then return table not found exception.

  was:
h1. Bulk Load in lowercase tablename

{color:#172b4d}when I use phoenix bulk load command to import csv file to 
phoenix table,{color} there{color:#172b4d} are get error.{color}
{code:java}
//代码占位符
Exception in thread "main" java.lang.IllegalArgumentException: Table 
"test"."ods_om_om_order_test" not foundException in thread "main" 
java.lang.IllegalArgumentException: Table "test"."ods_om_om_order_test" not 
found at 
org.apache.phoenix.util.SchemaUtil.generateColumnInfo(SchemaUtil.java:956) at 
org.apache.phoenix.mapreduce.AbstractBulkLoadTool.buildImportColumns(AbstractBulkLoadTool.java:377)
 at 
org.apache.phoenix.mapreduce.AbstractBulkLoadTool.loadData(AbstractBulkLoadTool.java:211)
 at 
org.apache.phoenix.mapreduce.AbstractBulkLoadTool.run(AbstractBulkLoadTool.java:180)
 at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at 
org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90) at 
org.apache.phoenix.mapreduce.CsvBulkLoadTool.main(CsvBulkLoadTool.java:109) at 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498) at 
org.apache.hadoop.util.RunJar.run(RunJar.java:313) at 
org.apache.hadoop.util.RunJar.main(RunJar.java:227)
{code}
my command is :
{code:java}
hadoop jar 
/opt/cloudera/parcels/CDH/lib/hbase/lib/phoenix-5.0.0-cdh6.2.0-client.jar 
org.apache.phoenix.mapreduce.CsvBulkLoadTool -s \"\"test\"\" -t 
\"\"ods_om_om_order_test\"\" -i 
/tmp/phoenix/ods_om_om_order_test5/data.csv{code}
{color:#172b4d}And I found the source code have a bug in 
*org.apache.phoenix.jdbc.PhoenixDatabaseMetaData#*{color}*getColumns.*

This method splices the tableName and schemaName into SQL statements to query 
the System.catalog. but if your tableName or schemaName is lowercase,that would 
be the *'"test"'* and *'"ods_om_om_order_test5"'* so that will can not query 
the result and then return table not found exception.


> Bulk Load have a bug in lowercase tablename
> -------------------------------------------
>
>                 Key: PHOENIX-6262
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6262
>             Project: Phoenix
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 5.0.0
>            Reporter: zhengjiewen
>            Assignee: Chao Wang
>            Priority: Major
>
> h1. Bulk Load in lowercase tablename
> {color:#172b4d}when I use phoenix bulk load command to import csv file to 
> phoenix table,{color} there{color:#172b4d} are get error.{color}
> {code:java}
> //代码占位符
> Exception in thread "main" java.lang.IllegalArgumentException: Table 
> "test"."ods_om_om_order_test" not foundException in thread "main" 
> java.lang.IllegalArgumentException: Table "test"."ods_om_om_order_test" not 
> found at 
> org.apache.phoenix.util.SchemaUtil.generateColumnInfo(SchemaUtil.java:956) at 
> org.apache.phoenix.mapreduce.AbstractBulkLoadTool.buildImportColumns(AbstractBulkLoadTool.java:377)
>  at 
> org.apache.phoenix.mapreduce.AbstractBulkLoadTool.loadData(AbstractBulkLoadTool.java:211)
>  at 
> org.apache.phoenix.mapreduce.AbstractBulkLoadTool.run(AbstractBulkLoadTool.java:180)
>  at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at 
> org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90) at 
> org.apache.phoenix.mapreduce.CsvBulkLoadTool.main(CsvBulkLoadTool.java:109) 
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:498) at 
> org.apache.hadoop.util.RunJar.run(RunJar.java:313) at 
> org.apache.hadoop.util.RunJar.main(RunJar.java:227)
> {code}
> my command is :
> {code:java}
> hadoop jar 
> /opt/cloudera/parcels/CDH/lib/hbase/lib/phoenix-5.0.0-cdh6.2.0-client.jar 
> org.apache.phoenix.mapreduce.CsvBulkLoadTool -s \"\"test\"\" -t 
> \"\"ods_om_om_order_test\"\" -i 
> /tmp/phoenix/ods_om_om_order_test5/data.csv{code}
> {color:#172b4d}And I found the source code have a bug in 
> *org.apache.phoenix.jdbc.PhoenixDatabaseMetaData#*{color}*getColumns.*
> This method splices the tableName and schemaName into SQL statements to query 
> the System.catalog. but if your tableName or schemaName is lowercase,that 
> would be the *'"test"'* and *'"ods_om_om_order_test"'* so that will can not 
> query the result and then return table not found exception.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to