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]