Serialize a federated dataset into a SQL database compatible with SqlClientData.

client_ids A list of string identifiers for clients in this dataset.
dataset_fn A callable that accepts a str as an argument and returns a instance. Unlike from_client_and_tf_dataset_fn, it does not require a TF serializable dataset function.
database_filepath A str filepath to the SQL database.
allow_overwrite A boolean indicating whether to allow overwriting if file already exists at dataset_filepath.
split_names_by_client_id An optional mapping from client identifier to a str identifier for the split (e.g. "train") the client belongs to.

FileExistsError if file exists at dataset_filepath and allow_overwrite is False. If overwriting is intended, please use allow_overwrite = True.
ElementSpecCompatibilityError if the element_spec of local datasets are not identical across clients, or if the element_spec of datasets are not of type Mapping[str, TensorSpec].
ValueError If split_names_by_client_id is passed and is missing an entry for a client in client_ids.