[
https://issues.apache.org/jira/browse/TAJO-806?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13985133#comment-13985133
]
Hyunsik Choi edited comment on TAJO-806 at 4/30/14 5:23 AM:
------------------------------------------------------------
Created a review request against branch master in reviewboard
https://reviews.apache.org/r/20877/
was (Author: hyunsik):
Created a review request against branch master in reviewboard
> CreateTableNode in CTAS has a wrong schema as output schema and table shcmea.
> -----------------------------------------------------------------------------
>
> Key: TAJO-806
> URL: https://issues.apache.org/jira/browse/TAJO-806
> Project: Tajo
> Issue Type: Bug
> Components: planner/optimizer, storage
> Reporter: Hyunsik Choi
> Assignee: Hyunsik Choi
> Fix For: 0.9.0, 0.8.1
>
> Attachments: TAJO-806.patch
>
>
> In below case, currently, TajoWriteSupport just takes the schema of the table
> {{orders}}. In other words, each column qualifier was {{default.orders}}
> instead of {{default.parquet_test}}. This is a bug. In such a case, we can
> meet the following error when we read parquet files.
> {noformat}
> default> create table parquet_test using parquet as select * from orders;
> Progress: 0%, response time: 1.119 sec
> Progress: 0%, response time: 2.121 sec
> Progress: 0%, response time: 3.123 sec
> Progress: 83%, response time: 4.126 sec
> Progress: 100%, response time: 4.709 sec
> (1500000 rows, 4.709 sec, 109.9 MiB inserted)
> default> select * from parquet_test;
> SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
> SLF4J: Defaulting to no-operation (NOP) logger implementation
> SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further
> details.
> Exception in thread "main" java.lang.NullPointerException
> at
> parquet.hadoop.InternalParquetRecordReader.close(InternalParquetRecordReader.java:118)
> at parquet.hadoop.ParquetReader.close(ParquetReader.java:144)
> at
> org.apache.tajo.storage.parquet.ParquetScanner.close(ParquetScanner.java:87)
> at org.apache.tajo.storage.MergeScanner.close(MergeScanner.java:137)
> at org.apache.tajo.jdbc.TajoResultSet.close(TajoResultSet.java:153)
> at org.apache.tajo.cli.TajoCli.localQueryCompleted(TajoCli.java:387)
> at org.apache.tajo.cli.TajoCli.executeQuery(TajoCli.java:365)
> at org.apache.tajo.cli.TajoCli.executeParsedResults(TajoCli.java:322)
> at org.apache.tajo.cli.TajoCli.runShell(TajoCli.java:311)
> at org.apache.tajo.cli.TajoCli.main(TajoCli.java:490)
> Apr 30, 2014 11:04:01 AM INFO: parquet.hadoop.ParquetFileReader: reading
> another 1 footers
> {noformat}
> The patch fixes the bug where CreateTableNode takes the wrong schema.
> In addition, I found the potential problem where ParquetFile stores the Tajo
> Schema into its extra meta data. I think that it will problem when users
> renames its database name or table name. So, I removed the code to insert a
> Tajo schema into extra metadata and I changed Parquet reading to not use
> extra metadata.
> Tajo mainly uses Catalog system to manage schemas, and reading parquet files
> in Tajo depends on Tajo catalog. So, it will work well. Also, other systems
> can access parquet files by directly reading parquet's native schema.
--
This message was sent by Atlassian JIRA
(v6.2#6252)