In the Java SDK, creating an empty table = create table with an Arrow IPC stream with no data. This is not obvious. We could also consider adding some util functions to it and documenting it better. See: https://github.com/lancedb/lancedb/issues/3052