โ09-22-2022 04:54 AM
Is it possible to reapply schema in delta files? For example, we have a history with field string but from some point, we need to replace string with struct.
In my case merge option and overwrite schema don't work.
โ09-22-2022 05:18 AM
You can change a columnโs type or name or drop a column by rewriting the table. To do this, use the
overwriteSchema option. But please back up your table first.
spark.read.table("table_name") \
.write \
.format("delta") \
.mode("overwrite") \
.option("overwriteSchema", "true") \
.saveAsTable("table_name")
โ10-16-2022 09:15 AM
Please select my answer as the best one.
After the last updates, it is also possible to rename columns using ALTER, but only when mapping is enabled. Check here https://docs.databricks.com/delta/delta-column-mapping.html
โ09-22-2022 05:18 AM
You can change a columnโs type or name or drop a column by rewriting the table. To do this, use the
overwriteSchema option. But please back up your table first.
spark.read.table("table_name") \
.write \
.format("delta") \
.mode("overwrite") \
.option("overwriteSchema", "true") \
.saveAsTable("table_name")
โ10-03-2022 11:22 AM
Hi @Mike Biberโ,
Just a friendly follow-up. Did Hubert's response helped you? Let us know if you still need help.
โ11-11-2022 02:32 AM
Hi @Hubert Dudekโ. Do you know if this works also for identity columns? Is there another way to do this? The below returns ParseException. Thank you
tt = spark.read.table("table_name") \
.withColumn("ID",col("ID").cast("BIGINT GENERATED ALWAYS")) \
.write \
.format("delta") \
.mode("overwrite") \
.option("overwriteSchema", "true") \
.saveAsTable("table_name")
โ10-09-2022 08:06 AM
Hi guys!
Definitely, thank you for your support.
โ10-16-2022 09:15 AM
Please select my answer as the best one.
After the last updates, it is also possible to rename columns using ALTER, but only when mapping is enabled. Check here https://docs.databricks.com/delta/delta-column-mapping.html
Join a Regional User Group to connect with local Databricks users. Events will be happening in your city, and you wonโt want to miss the chance to attend and share knowledge.
If there isnโt a group near you, start one and help create a community that brings people together.
Request a New Group