You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Ratandeep Ratti (JIRA)" <ji...@apache.org> on 2018/01/09 01:47:00 UTC
[jira] [Commented] (HIVE-18410) [Performance][Avro] Reading flat
Avro tables is very expensive in Hive
[ https://issues.apache.org/jira/browse/HIVE-18410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16317521#comment-16317521 ]
Ratandeep Ratti commented on HIVE-18410:
----------------------------------------
Attached profiling data
> [Performance][Avro] Reading flat Avro tables is very expensive in Hive
> ----------------------------------------------------------------------
>
> Key: HIVE-18410
> URL: https://issues.apache.org/jira/browse/HIVE-18410
> Project: Hive
> Issue Type: Improvement
> Affects Versions: 2.3.2
> Reporter: Ratandeep Ratti
> Assignee: Ratandeep Ratti
> Fix For: 2.3.2
>
> Attachments: profiling_with_patch.nps, profiling_with_patch.png, profiling_without_patch.nps, profiling_without_patch.png
>
>
> There's a performance penalty when reading flat [no nested fields] Avro tables. When reading the same flat dataset in Pig, it takes half the time. On profiling, a lot of time is spent in {{AvroDeserializer.deserializeSingleItemNullableUnion()}}. The bulk of the time is spent in GenericData.get().resolveUnion(), which calls GenericData.getSchemaName(Object datum), which does a lot of instanceof checks. This could be simplified with performance benefits. A approach is described in this patch which almost halves the runtime.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)