Open frosforever opened 5 months ago
hey @frosforever Uniform requires HMS as the Iceberg catalog. If one just use Hadoop as the catalog, its expected that the Uniform Iceberg conversion cannot find HMS and thus fails.
Requiring HMS is an explicit design decision because the file system based Iceberg https://iceberg.apache.org/spec/#file-system-tables requires file system to support atomic rename, which not all file systems support. Using file system based Iceberg on a non-supported file system may leads to race conditions and data corruption.
Thanks for the response @lzlfred!
I'm not sure I'm completely following. Does the HMS requirement mean that the internally supported HMS with hadoop
catalog type is not supported? Is this due to the use of Derby and something similar to what is suggested here https://github.com/apache/iceberg/issues/7847#issuecomment-2008290040 be required for Uniform as well?
Is there any way to write a uniform table using local spark, for example in integration tests, without setting up externally running Hive?
Question
Which Delta project/connector is this regarding?
Describe the problem
How can one use Uniform from a local standalone spark runtime? The docs state that Uniform requires HMS but should otherwise work. However I can't seem to find the incantation required to get the iceberg metadata to write without failing. Apologies if this is not the correct forum for such questions! Please feel free to direct me elsewhere if that's the case. Thanks very much!
Steps to reproduce
Observed results
Blows up with:
Expected results
Table generated with delta & iceberg metadata
Further details
Does delta Uniform not play with with Derby similar to Iceberg? https://github.com/apache/iceberg/issues/8277#issuecomment-1680875724 & https://github.com/apache/iceberg/issues/7847? Are there other dependencies that are missing e.g.
"org.apache.iceberg" %% "iceberg-spark-runtime-3.5" % "1.5.2"
?Environment information
Willingness to contribute
The Delta Lake Community encourages bug fix contributions. Would you or another member of your organization be willing to contribute a fix for this bug to the Delta Lake code base?