[
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_test5"' 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: Improvement
> Components: core
> Affects Versions: 5.1.0-cdh
> Reporter: zhengjiewen
> 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_test5"' 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)