Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-3006

CTAS with interval data type creates invalid parquet file

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.0.0
    • Storage - Parquet
    • None

    Description

      Used the below CTAS statement:
      create table t6 as select interval '10' day interval_day_col from cp.`employee.json` limit 1;

      When I query the table 't6' the following exception is encountered:

      Caused by: java.io.IOException: Failure while trying to get footer for file file:/tmp/t6/0_0_0.parquet
      at org.apache.drill.exec.store.parquet.FooterGatherer$FooterReader.convertToIOException(FooterGatherer.java:120) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      at org.apache.drill.exec.store.TimedRunnable.getValue(TimedRunnable.java:67) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      at org.apache.drill.exec.store.TimedRunnable.run(TimedRunnable.java:136) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      at org.apache.drill.exec.store.parquet.FooterGatherer.getFooters(FooterGatherer.java:95) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      at org.apache.drill.exec.store.parquet.ParquetGroupScan.readFooterHelper(ParquetGroupScan.java:229) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      at org.apache.drill.exec.store.parquet.ParquetGroupScan.access$000(ParquetGroupScan.java:79) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      at org.apache.drill.exec.store.parquet.ParquetGroupScan$1.run(ParquetGroupScan.java:206) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      at org.apache.drill.exec.store.parquet.ParquetGroupScan$1.run(ParquetGroupScan.java:204) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_67]
      at javax.security.auth.Subject.doAs(Subject.java:415) ~[na:1.7.0_67]
      at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1556) ~[hadoop-common-2.4.1.jar:na]
      at org.apache.drill.exec.store.parquet.ParquetGroupScan.readFooter(ParquetGroupScan.java:204) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      ... 21 common frames omitted
      Caused by: java.lang.IllegalArgumentException: Invalid FIXED_LEN_BYTE_ARRAY length: 0
      at parquet.Preconditions.checkArgument(Preconditions.java:50) ~[parquet-common-1.6.0rc3-drill-r0.3.jar:1.6.0rc3-drill-r0.3]
      at parquet.schema.Types$PrimitiveBuilder.build(Types.java:320) ~[parquet-column-1.6.0rc3-drill-r0.3.jar:1.6.0rc3-drill-r0.3]
      at parquet.schema.Types$PrimitiveBuilder.build(Types.java:250) ~[parquet-column-1.6.0rc3-drill-r0.3.jar:1.6.0rc3-drill-r0.3]
      at parquet.schema.Types$Builder.named(Types.java:228) ~[parquet-column-1.6.0rc3-drill-r0.3.jar:1.6.0rc3-drill-r0.3]
      at parquet.format.converter.ParquetMetadataConverter.buildChildren(ParquetMetadataConverter.java:640) ~[parquet-hadoop-1.6.0rc3-drill-r0.3.jar:1.6.0rc3-drill-r0.3]
      at parquet.format.converter.ParquetMetadataConverter.fromParquetSchema(ParquetMetadataConverter.java:601) ~[parquet-hadoop-1.6.0rc3-drill-r0.3.jar:1.6.0rc3-drill-r0.3]
      at parquet.format.converter.ParquetMetadataConverter.fromParquetMetadata(ParquetMetadataConverter.java:543) ~[parquet-hadoop-1.6.0rc3-drill-r0.3.jar:1.6.0rc3-drill-r0.3]
      at parquet.format.converter.ParquetMetadataConverter.readParquetMetadata(ParquetMetadataConverter.java:529) ~[parquet-hadoop-1.6.0rc3-drill-r0.3.jar:1.6.0rc3-drill-r0.3]
      at parquet.format.converter.ParquetMetadataConverter.readParquetMetadata(ParquetMetadataConverter.java:480) ~[parquet-hadoop-1.6.0rc3-drill-r0.3.jar:1.6.0rc3-drill-r0.3]
      at org.apache.drill.exec.store.parquet.FooterGatherer.readFooter(FooterGatherer.java:161) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      at org.apache.drill.exec.store.parquet.FooterGatherer$FooterReader.runInner(FooterGatherer.java:115) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      at org.apache.drill.exec.store.parquet.FooterGatherer$FooterReader.runInner(FooterGatherer.java:102) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      at org.apache.drill.exec.store.TimedRunnable.run(TimedRunnable.java:47) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      at org.apache.drill.exec.store.TimedRunnable.run(TimedRunnable.java:107) ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
      ... 30 common frames omitted

      When I run parquet tools (parquet-schema or parquet-meta) on the parquet file I get a similar error: "Invalid FIXED_LEN_BYTE_ARRAY length: 0"

      Attachments

        Issue Links

          Activity

            People

              cchang@maprtech.com Chun Chang
              mehant Mehant Baid
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: