Closed sdasdasd1 closed 4 months ago
@ajantha-bhat do you have time to dig into this?
yeah. We will check it.
cc: @dimas-b, @snazy
Closing it as a duplicate as the same issue was opened at Nessie side and @sdasdasd1 has confirmed that it has resolved.
https://github.com/projectnessie/nessie/issues/8855#issuecomment-2182385103
Apache Iceberg version
1.5.0
Query engine
Spark
Please describe the bug π
What happened
I cant create or append to any table in REST nessie catalog (same actions works correctly in classic nessie catalog). There is an error after actions which I described below. On createOrReplace Im getting this:
Also appending to existing tables (which were created with the classic nessie catalog) is not working. Spark doesn't throw any issues. But after that nothing changes. No new commit in nessie UI, no new data in table.
How to reproduce it
Spark 3.5.1 + settings
from typing import List, NoReturn, Tuple
from pyspark.sql import Column, DataFrame, DataFrameWriterV2, SparkSession
DEFAULT_PROPERTIES = [ ("write.format.default", "parquet"), ("write.parquet.compression-codec", "ZSTD"), ("write.parquet.compression-level", "6"), ("write.metadata.delete-after-commit.enabled", "true"), ("write.metadata.previous-versions-max", "100"), ("write.distribution-mode", "hash"), ("write.object-storage.enabled", "true"), ("write.data.path", "s3://obs-zdp-warehouse-stage-mz"), ("commit.retry.num-retries", "10"), ("gc.enabled", "true"), ("format-version", "2"), ]
def apply_t_properties_to_df_writer(writer: DataFrameWriterV2, properties: List[Tuple[str, str]]) -> DataFrameWriterV2: """ Applies a list of table properties to a DataFrameWriterV2 instance.
def get_writer(df: DataFrame, table_name: str) -> DataFrameWriterV2: """ Creates a DataFrameWriterV2 instance for writing a DataFrame to an Iceberg table.
df = spark.read.table("iceberg_rest.dds.f_iceberg_maintenance_expire_snapshots_log") # read or create any df
get_writer(df, "iceberg_rest.dds.f_iceberg_maintenance_expire_snapshots_log_test2").createOrReplace()