hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Shelukhin (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-15546) Optimize Utilities.getInputPaths()
Date Fri, 06 Jan 2017 23:15:59 GMT

    [ https://issues.apache.org/jira/browse/HIVE-15546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15806111#comment-15806111
] 

Sergey Shelukhin commented on HIVE-15546:
-----------------------------------------

See NullScanFileSystem, ZeroRowsInputFormat, etc; that already handles this for some cases,
replacing inputs with fake paths instead of using fake files.

> Optimize Utilities.getInputPaths()
> ----------------------------------
>
>                 Key: HIVE-15546
>                 URL: https://issues.apache.org/jira/browse/HIVE-15546
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Hive
>            Reporter: Sahil Takiar
>            Assignee: Sahil Takiar
>         Attachments: HIVE-15546.1.patch, HIVE-15546.2.patch
>
>
> When running on blobstores (like S3) where metadata operations (like listStatus) are
costly, Utilities.getInputPaths() can add significant overhead when setting up the input paths
for an MR / Spark / Tez job.
> The method performs a listStatus on all input paths in order to check if the path is
empty. If the path is empty, a dummy file is created for the given partition. This is all
done sequentially. This can be really slow when there are a lot of empty partitions. Even
when all partitions have input data, this can take a long time.
> We should either:
> (1) Just remove the logic to check if each input path is empty, and handle any edge cases
accordingly.
> (2) Multi-thread the listStatus calls



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message