Coal Chan created SPARK-38230:
---------------------------------

             Summary: InsertIntoHadoopFsRelationCommand unnecessarily fetches 
details of partitions in most cases
                 Key: SPARK-38230
                 URL: https://issues.apache.org/jira/browse/SPARK-38230
             Project: Spark
          Issue Type: Improvement
          Components: SQL
    Affects Versions: 3.0.2
            Reporter: Coal Chan


In `org.apache.spark.sql.execution.datasources.

InsertIntoHadoopFsRelationCommand`, `

sparkSession.sessionState.catalog.listPartitions

` will call method `org.apache.hadoop.hive.metastore.listPartitionsPsWithAuth` 
of hive metastore client, this method will produce multiple queries on hive 
metastore db. When you insert into a table which has too many partitions(ie: 
10k), it will produce too many queries on hive metastore db(ie: n * 10k = 
10nk), it puts a lot of strain on the database.

In fact, it calls method `listPartitions` in order to get locations of 
partitions and get `customPartitionLocations`. But in most cases, we do not 
have custom partitions, so we can just get partition names.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to