I have an SKS server set up on Ubuntu 16, currently with a manifest of keys from dumps provided by the MIT PGP key server. I'd like to be able extract public keys / subkeys and associated user info (email addresses, etc) from the SKS database into a CSV for other data analysis. Is there a way to do that? Would it be necessary to download all keys into a local GPG keychain first somehow?
The SKS key server is using a data format based on the Berkely DB project, and will require some specific programming work to interface against (and you probably shouldn't be running the key server software at the same time).
A somewhat easy to query and pre-analyzed dump of the OpenPGP strong set is available for download based on the wotsup project. It contains all keys connect with the largest strongly connected component, which is somewhere around 60.000 keys (as of 2018).
For analyzing the full key server data, you could download a key server dump, which is just a series of OpenPGP packets and run them through
gpg --list-packets or
pgpdump and parse the output into a format of your choice.
Alternatively, import them into the Hockeypuck OpenPGP key server, which can use a PostgreSQL database which can be conveniently queried.