Github user tejasapatil commented on a diff in the pull request:

    https://github.com/apache/spark/pull/17644#discussion_r115004694
  
    --- Diff: 
sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveExternalCatalog.scala ---
    @@ -632,9 +632,51 @@ private[spark] class HiveExternalCatalog(conf: 
SparkConf, hadoopConf: Configurat
         val rawTable = getRawTable(db, table)
         val withNewSchema = rawTable.copy(schema = schema)
         verifyColumnNames(withNewSchema)
    +
    +    val newProperties = collection.mutable.Map[String, String]()
    +    for ((property, value) <- withNewSchema.properties) {
    +      newProperties.put(property, value)
    +    }
    +    for ((property, value) <- tableMetaToTableProps(withNewSchema)) {
    +      newProperties.put(property, value)
    +    }
    +
    +    // Since the table schema will be changed, check if the bucketing and 
sort columns are still
    --- End diff --
    
    Unfortunately YES. Below I alter a bucketed table to remove the bucketing 
column from its schema. Modified table still points to old bucket spec. This is 
bad.
    
    ```
    hive> desc formatted bucketed_partitioned_1;
    
    # col_name                  data_type               comment
    user_id                     bigint
    name                        string
    
    # Storage Information
    ....
    Num Buckets:                8
    Bucket Columns:             [user_id]
    Sort Columns:               [Order(col:user_id, order:1)]
    
    hive> ALTER TABLE bucketed_partitioned_1 REPLACE COLUMNS ( eid INT, name 
STRING);
    OK
    
    hive> desc formatted bucketed_partitioned_1;
    # col_name                  data_type               comment
    eid                         int
    name                        string
    
    # Storage Information
    .....
    Num Buckets:                8
    Bucket Columns:             [user_id]
    Sort Columns:               [Order(col:user_id, order:1)]
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to