hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hive QA (JIRA)" <>
Subject [jira] [Commented] (HIVE-9333) Move parquet serialize implementation to DataWritableWriter to improve write speeds
Date Mon, 02 Feb 2015 06:40:34 GMT


Hive QA commented on HIVE-9333:

{color:red}Overall{color}: -1 at least one tests failed

Here are the results of testing the latest attachment:

{color:red}ERROR:{color} -1 due to 3 failed/errored test(s), 7407 tests executed
*Failed tests:*

Test results:
Console output:
Test logs:

Executing org.apache.hive.ptest.execution.PrepPhase
Executing org.apache.hive.ptest.execution.ExecutionPhase
Executing org.apache.hive.ptest.execution.ReportingPhase
Tests exited with: TestsFailedException: 3 tests failed

This message is automatically generated.

ATTACHMENT ID: 12695870 - PreCommit-HIVE-TRUNK-Build

> Move parquet serialize implementation to DataWritableWriter to improve write speeds
> -----------------------------------------------------------------------------------
>                 Key: HIVE-9333
>                 URL:
>             Project: Hive
>          Issue Type: Sub-task
>            Reporter: Sergio Peña
>            Assignee: Sergio Peña
>         Attachments: HIVE-9333.5.patch, HIVE-9333.6.patch
> The serialize process on ParquetHiveSerDe parses a Hive object
> to a Writable object by looping through all the Hive object children,
> and creating new Writables objects per child. These final writables
> objects are passed in to the Parquet writing function, and parsed again
> on the DataWritableWriter class by looping through the ArrayWritable
> object. These two loops (ParquetHiveSerDe.serialize() and DataWritableWriter.write()
 may be reduced to use just one loop into the DataWritableWriter.write() method in order to
increment the writing process speed for Hive parquet.
> In order to achieve this, we can wrap the Hive object and object inspector
> on ParquetHiveSerDe.serialize() method into an object that implements the Writable object
and thus avoid the loop that serialize() does, and leave the loop parser to the DataWritableWriter.write()
method. We can see how ORC does this with the OrcSerde.OrcSerdeRow class.
> Writable objects are organized differently on any kind of storage formats, so I don't
think it is necessary to create and keep the writable objects in the serialize() method as
they won't be used until the writing process starts (DataWritableWriter.write()).
> This performance issue was found using microbenchmark tests from HIVE-8121.

This message was sent by Atlassian JIRA

View raw message