mirror of
https://github.com/datahub-project/datahub.git
synced 2025-12-12 10:35:51 +00:00
fix(ingest/elasticsearch): detect sub-properties in 'nested' type mapping (#11338)
Co-authored-by: Lawrence De Spiegeleire <lawrence.despiegeleire@pauwelconsulting.com>
This commit is contained in:
parent
a87c123611
commit
44645b9650
@ -138,20 +138,7 @@ class ElasticToSchemaFieldConverter:
|
||||
for columnName, column in elastic_schema_dict.items():
|
||||
elastic_type: Optional[str] = column.get("type")
|
||||
nested_props: Optional[Dict[str, Any]] = column.get(PROPERTIES)
|
||||
if elastic_type is not None:
|
||||
self._prefix_name_stack.append(f"[type={elastic_type}].{columnName}")
|
||||
schema_field_data_type = self.get_column_type(elastic_type)
|
||||
schema_field = SchemaField(
|
||||
fieldPath=self._get_cur_field_path(),
|
||||
nativeDataType=elastic_type,
|
||||
type=schema_field_data_type,
|
||||
description=None,
|
||||
nullable=True,
|
||||
recursive=False,
|
||||
)
|
||||
yield schema_field
|
||||
self._prefix_name_stack.pop()
|
||||
elif nested_props:
|
||||
if nested_props:
|
||||
self._prefix_name_stack.append(f"[type={PROPERTIES}].{columnName}")
|
||||
schema_field = SchemaField(
|
||||
fieldPath=self._get_cur_field_path(),
|
||||
@ -164,6 +151,19 @@ class ElasticToSchemaFieldConverter:
|
||||
yield schema_field
|
||||
yield from self._get_schema_fields(nested_props)
|
||||
self._prefix_name_stack.pop()
|
||||
elif elastic_type is not None:
|
||||
self._prefix_name_stack.append(f"[type={elastic_type}].{columnName}")
|
||||
schema_field_data_type = self.get_column_type(elastic_type)
|
||||
schema_field = SchemaField(
|
||||
fieldPath=self._get_cur_field_path(),
|
||||
nativeDataType=elastic_type,
|
||||
type=schema_field_data_type,
|
||||
description=None,
|
||||
nullable=True,
|
||||
recursive=False,
|
||||
)
|
||||
yield schema_field
|
||||
self._prefix_name_stack.pop()
|
||||
else:
|
||||
# Unexpected! Log a warning.
|
||||
logger.warning(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user