tree 91711fd739336d3c6b4b510f2590acce9eeb8113
parent bd896cac168aa5793413058ca706c73705edbf96
author Ruifeng Zheng <ruifengz@apache.org> 1715165301 +0800
committer Ruifeng Zheng <ruifengz@apache.org> 1715165301 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEUUb73EuQdE6pSANXleDuOM+Y+fQFAmY7WHUACgkQleDuOM+Y
 +fSVOQ/+L3l87N4D2IA0iekpn4YneHE46OAksdy0mu6KeegCoM1IShcewieAkKcA
 HVsUILPYNywh1ZAYpN23v2Yhlo/PL+Bu/14UcdDTQMZ+cgzKS0mWhvbR8ZlUZWdk
 ckKmqKn5npaVIWWZva4qBdPHhAsVb8l4DlF4rE9TH0ezAfrAnjVBeoefoc6guk60
 z3x8eUuCMHFa5AP9A4GO2GViQsPyeGzCrR76+nZvO4mRYhBx1pTAYh7UJe4YOpdh
 NlVdZAJNjhGJWUDh1M34KBSiR/PnwJE/hiTjSRwxNCnl341D/enoBYX5n+5GQyaC
 1wh3zyDmGGk8CWms1SoEpP3eNGvsiv/EbJlcxrJyMNQQg44YeLdz8Dy2GKL3osdG
 pw38lWemCU6YG93BehnHECP2PuoVI9mhzScNp7tcWAPJoeexcmfdOd+9rpPwNTDc
 jqFDBl7OfKvNWuQ9Ly7DctMYScsoFLIZo9clSi713AtgP6zTAhhDiO1HFqby/J9U
 4jj6k6xOWgJ7z+bAQxUbZqYn/BxXNbC+6UxavZz77EaqavvWn5ztDlJQZHqJ2E2g
 yIQZFZsLaOep0D017VGRJ3WsAD1NjlL0Kr8zqBY3+gD6m54f6vhg2hZdrcgDCnx6
 imaexdRliwmVlZvFiiYrydiI6lh1sSuoUlF6HUOsSdLsfLkUfII=
 =a7Vm
 -----END PGP SIGNATURE-----

[SPARK-48190][PYTHON][PS][TESTS] Introduce a helper function to drop metadata

### What changes were proposed in this pull request?
Introduce a helper function to drop metadata

### Why are the changes needed?
existing helper function `remove_metadata` in PS doesn't support nested types, so cannot be reused in other places

### Does this PR introduce _any_ user-facing change?
no, test only

### How was this patch tested?
ci

### Was this patch authored or co-authored using generative AI tooling?
no

Closes #46466 from zhengruifeng/py_drop_meta.

Authored-by: Ruifeng Zheng <ruifengz@apache.org>
Signed-off-by: Ruifeng Zheng <ruifengz@apache.org>
