{"record":{"id":"b6281de280750d34","repo":"apache/beam","slug":"beam-write-property-s-is-not-supported-writing-to-delta-lake","errorCode":null,"errorMessage":"Beam write property '%s' is not supported. Writing to Delta Lake tables is currently not supported.","messagePattern":"Beam write property '(.+?)' is not supported\\. Writing to Delta Lake tables is currently not supported\\.","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"sdks/java/extensions/sql/delta/src/main/java/org/apache/beam/sdk/extensions/sql/meta/provider/delta/DeltaTable.java","lineNumber":83,"sourceCode":"  DeltaTable(String tableLocation, Table table) {\n    super(table.getSchema());\n    this.schema = table.getSchema();\n    this.tableLocation = tableLocation;\n\n    Long parsedVersion = null;\n    String parsedTimestamp = null;\n    Map<String, String> parsedHadoopConfig = new HashMap<>();\n\n    ObjectNode properties = table.getProperties();\n    for (Map.Entry<String, JsonNode> property : properties.properties()) {\n      String key = property.getKey();\n      String lowerKey = key.toLowerCase();\n      JsonNode val = property.getValue();\n\n      if (lowerKey.startsWith(BEAM_WRITE_PROPERTY)) {\n        // TODO: Support writing to Delta Lake tables once a Delta Lake sink is\n        // available.\n        throw new IllegalArgumentException(\n            String.format(\n                \"Beam write property '%s' is not supported. Writing to Delta Lake tables is currently not supported.\",\n                key));\n      } else if (lowerKey.startsWith(BEAM_READ_PROPERTY)) {\n        // none supported yet\n        throw new IllegalArgumentException(\"Unknown Beam read property: \" + key);\n      } else if (lowerKey.equalsIgnoreCase(VERSION_FIELD)) {\n        parsedVersion = parseVersion(val);\n      } else if (lowerKey.equalsIgnoreCase(TIMESTAMP_FIELD)) {\n        parsedTimestamp = val.asText();\n      } else if (lowerKey.equalsIgnoreCase(HADOOP_CONFIG_FIELD)\n          || lowerKey.equalsIgnoreCase(HADOOP_CONFIG_CAMEL_FIELD)) {\n        parseHadoopConfig(val, parsedHadoopConfig);\n      } else {\n        throw new IllegalArgumentException(String.format(\"Unknown property '%s'\", key));\n      }\n    }\n","sourceCodeStart":65,"sourceCodeEnd":101,"githubUrl":"https://github.com/apache/beam/blob/12126d8942aaf848030c478b4c6a28c6af861c66/sdks/java/extensions/sql/delta/src/main/java/org/apache/beam/sdk/extensions/sql/meta/provider/delta/DeltaTable.java#L65-L101","documentation":"DeltaTable.validateTableProperties rejects any table property whose key starts with the Beam write property prefix, because there is no Delta Lake sink in Beam yet. The error tells you that a write-related Beam property was supplied to a Delta table, which cannot honor it.","triggerScenarios":"Creating or validating a DeltaTable whose properties map contains a key starting with 'beam_write' (BEAM_WRITE_PROPERTY), e.g. in CREATE EXTERNAL TABLE ... TBLPROPERTIES or table configuration.","commonSituations":"Copy-pasting table properties from other providers (Iceberg, text, BigQuery) that support Beam write properties; misconfiguring a DDL statement intended for a writable sink but targeting Delta Lake.","solutions":["Remove the 'beam_write_*' property from the Delta table's properties.","If you need to write to the table, use a different provider that supports sinks, or write via Delta Lake tooling outside Beam.","Check the Beam version's Delta provider docs for the supported property list."],"exampleFix":"// before\nCREATE EXTERNAL TABLE delta_t ... TBLPROPERTIES { 'beam_write_partition_columns': 'date' }\n// after\nCREATE EXTERNAL TABLE delta_t ... -- no beam_write properties","handlingStrategy":"validation","validationCode":"// before building the Delta table\nproperties.keySet().forEach(k -> {\n  if (k.toLowerCase().startsWith(\"beam_write\")) {\n    throw new IllegalArgumentException(\"beam_write property \" + k + \" not supported for Delta Lake\");\n  }\n});","typeGuard":null,"tryCatchPattern":"try {\n  table = new DeltaTable(tableId, schema, properties);\n} catch (IllegalArgumentException e) {\n  if (e.getMessage().contains(\"not supported\")) {\n    properties = properties.entrySet().stream()\n        .filter(en -> !en.getKey().toLowerCase().startsWith(\"beam_write\"))\n        .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));\n  }\n}","preventionTips":["Do not copy TBLPROPERTIES from writable providers onto Delta tables.","Check the provider docs for the supported property whitelist.","Centralize table property definitions so provider-specific keys don't leak across providers."],"tags":["java","beam-sql","delta-lake","table-properties"],"backgroundTag":"unsupported-config-value","analyzedSha":"12126d8942aaf848030c478b4c6a28c6af861c66","analyzedAt":"2026-09-13T01:50:10.254Z","contentChangedAt":"2026-09-13T01:50:10.254Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}