Hi,
feel free to create a feature request for loading a dataset from hdf5 files.
In the meantime, you can load a dataset using pandas as follows:
import pandas as pd
import datasets

dset = datasets.Dataset.from_pandas(pd.read_hdf(hdf5_file))

Note that this will load a dataset in memory. To use caching when applying transforms, the dataset has to be stored on disk, so do the following:
dset = datasets.load_from_disk(dset.save_to_disk(save_dir))

or, if you want to keep the dataset in memory, specify cache_file_name when calling transforms.
If the dataset is too big to fit in memory when loading from the hdf5 file, try to load it in chunks:
import pandas as pd
import datasets

CHUNKSIZE = 10_000
SAVE_DIR = "dummy_dir"

dsets = []
for i, df_chunk in enumerate(pd.read_hdf(hdf5_file, iterator=True, chunksize=CHUNKSIZE)):
    dset = datasets.Dataset.from_pandas(df_chunk)
    dset = datasets.load_from_disk(dset.save_to_disk(f"{SAVE_DIR}-{i}"))
    dsets.append(dset)

dset = datasets.concatenate_datasets(dsets)

Let me know if this works for you.