Error when trying to copy datasets to different regions using Delta Sharing

Split your intervals into separate columns for day, hour, minute and second; convert the interval to a string, or convert the entire interval to seconds and store as an integer.

Written by Rajeev kannan Thangaiah

Last published at: January 25th, 2025

Problem

When attempting to copy data between different regions using Delta Sharing, you encounter the following errors. 

 

Error: Failed to parse the schema. Encountered unsupported Delta data type: VOID

 

Error: Interval day to second is not a supported delta data type

 

Cause

Delta sharing fails at the table level because Delta Lake does not support the "Void” and "interval day to second" data types. 

 

Solution

You have three choices depending on your use case. 

 

First, instead of using a single "interval day to second" column, split the interval into separate columns for days, hours, minutes, and seconds. Each of these components can be stored as individual integer columns. You can still represent the interval, but in a Delta Sharing-supported format. 

 

Alternatively, convert the interval to a string. For example, you can store the interval as a string in the format "D days HH:MM:SS". This allows you to keep the interval information in a single column, although it will be stored as a string.

 

Last, convert the entire interval into a total number of seconds and store it as an integer. This approach simplifies the storage and can be useful if you only need to perform arithmetic operations on the interval.