How to update a value in a column in a delta table with Map of Struct datatype?
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-18-2024 05:30 PM
I have a delta table in Databricks named "prod.silver.control_table". It has a few columns including "table_name" with string data type and "transform_options" with the below structure:
|-- transform_options: map (nullable = true) | |-- key: string | |-- value: struct (valueContainsNull = true) | | |-- col_name_mappings: map (nullable = true) | | | |-- key: string | | | |-- value: string (valueContainsNull = true) | | |-- type_mappings: map (nullable = true) | | | |-- key: string | | | |-- value: string (valueContainsNull = true) | | |-- partition_duplicates_by: array (nullable = true) | | | |-- element: string (containsNull = true) | | |-- order_duplicates_by: array (nullable = true) | | | |-- element: string (containsNull = true)
For example, when "table_name" is "prod.silver.weather", the "transform_options" is:
{ "prod.bronze.weather_source_a":{"col_name_mappings":{"col_a_old":"col_a_new","col_b_old":"col_b_new"},"type_mappings":{"col_a_new":"INT","col_b_new":"TIMESTAMP"},"partition_duplicates_by":["col_a_new"],"order_duplicates_by":["_commit_version"]}, "prod.bronze.weather_source_b":{"col_name_mappings":{"col_c_old":"col_c_new","col_d_old":"col_d_new"},"type_mappings":{"col_c_new":"INT","col_d_new":"TIMESTAMP"},"partition_duplicates_by":["col_c_new"],"order_duplicates_by":["ingestion_timestamp","_commit_version"]} }
I need to update values in "order_duplicates_by". I need to change "_commit_version" into "commit_version" by removing the initial underscore.
Any idea how to update table values?
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-20-2024 10:06 PM
Could you give me more hints on how to use UPDATE command for this specific case?

