def from_schema_json(schema_json):
"""Translate a v1 JSON schema into a `Schema`."""
schema_dict = json.loads(schema_json)
feature_column_schemas = {
feature_dict['name']: _from_feature_dict(feature_dict)
for feature_dict in schema_dict.get('feature', [])
}
sparse_feature_column_schemas = {
sparse_feature_dict['name']: _from_sparse_feature_dict(
sparse_feature_dict)
for sparse_feature_dict in schema_dict.get('sparseFeature', [])
}
overlapping_keys = set(six.iterkeys(feature_column_schemas)).intersection(
six.iterkeys(sparse_feature_column_schemas))
if overlapping_keys:
raise ValueError('Keys of dense and sparse features overlapped. '
'overlapping keys: %s' % overlapping_keys)
feature_column_schemas.update(sparse_feature_column_schemas)
return sch.Schema(feature_column_schemas)
评论列表
文章目录