[ https://issues.apache.org/jira/browse/HIVE-5951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13867131#comment-13867131 ]
Sergey Shelukhin commented on HIVE-5951: ---------------------------------------- For atomicity guarantees there are transactions :) We do the loop on the backend, and no longer do e.g. existence checks for each partitions separately from client. Anyway there's no such thing as inserting multiple things in one go, other than maybe inserting into separate table and then putting into main table. Also, it's going to be a mess given how much stuff partition can have. > improve performance of adding partitions from client > ---------------------------------------------------- > > Key: HIVE-5951 > URL: https://issues.apache.org/jira/browse/HIVE-5951 > Project: Hive > Issue Type: Improvement > Reporter: Sergey Shelukhin > Assignee: Sergey Shelukhin > Attachments: HIVE-5951.01.patch, HIVE-5951.02.patch, > HIVE-5951.03.patch, HIVE-5951.nogen.patch, HIVE-5951.nogen.patch, > HIVE-5951.nogen.patch, HIVE-5951.nogen.patch, HIVE-5951.patch > > > Adding partitions to metastore is currently very inefficient. There are small > things like, for !ifNotExists case, DDLSemanticAnalyzer gets the full > partition object for every spec (which is a network call to metastore), and > then discards it instantly; there's also general problem that too much > processing is done on client side. DDLSA should analyze the query and make > one call to metastore (or maybe a set of batched calls if there are too many > partitions in the command), metastore should then figure out stuff and insert > in batch. -- This message was sent by Atlassian JIRA (v6.1.5#6160)