diff --git a/web-console/src/druid-models/ingestion-spec/ingestion-spec.tsx b/web-console/src/druid-models/ingestion-spec/ingestion-spec.tsx index 205d287ac2b..393c3e7ee1b 100644 --- a/web-console/src/druid-models/ingestion-spec/ingestion-spec.tsx +++ b/web-console/src/druid-models/ingestion-spec/ingestion-spec.tsx @@ -1030,6 +1030,27 @@ export function getIoConfigFormFields(ingestionComboType: IngestionComboType): F type: 'string', placeholder: '/path/to/deltaTable', required: true, + info: ( + <> +
A full path to the Delta Lake table.
+ > + ), + }, + { + name: 'inputSource.filter', + label: 'Delta filter', + type: 'json', + defaultValue: {}, + info: ( + <> +A Delta filter json object to filter Delta Lake scan files.
+ > + ), }, ]; diff --git a/web-console/src/druid-models/input-source/input-source.tsx b/web-console/src/druid-models/input-source/input-source.tsx index 2b0b60eecfc..17b137412ef 100644 --- a/web-console/src/druid-models/input-source/input-source.tsx +++ b/web-console/src/druid-models/input-source/input-source.tsx @@ -117,7 +117,8 @@ export type InputSourceDesc = } | { type: 'delta'; - tablePath?: string; + tablePath: string; + filter?: string; } | { type: 'sql'; @@ -624,6 +625,27 @@ export const INPUT_SOURCE_FIELDS: FieldA full path to the Delta Lake table.
+ > + ), + }, + { + name: 'filter', + label: 'Delta filter', + type: 'json', + placeholder: '{"type": "=", "column": "name", "value": "foo"}', + defined: inputSource => inputSource.type === 'delta' && deepGet(inputSource, 'filter'), + required: false, + info: ( + <> +A Delta filter json object to filter Delta Lake scan files.
+ > + ), }, // sql