Update Feb 2026
We are still working towards enabling this functionality, before being able to validate the performance characterisitics.
This is the bare minimum that we believe we will need, in order to be able to get hive databases backed by Ceph/S3.
- A radosgw user called analytics or similar, with its access_key and secret_key tokens.
- An S3 bucket (or multiple buckets) owner by this user, in which to put the files.
- Hadoop configuration for the s3a:// provider: https://hadoop.apache.org/docs/r2.10.2/hadoop-aws/tools/hadoop-aws/index.html#S3A
- The access tokens being configured as Hadoop properties https://hadoop.apache.org/docs/r2.10.2/hadoop-aws/tools/hadoop-aws/index.html#S3A_Authentication_methods (or environment variables)
Then we will be able to create a table on Ceph/S3 with:
create external table blah (whatever) location 's3a://rgw.eqiad.dpe.anycast.wmnet/mybucket'
...and it should work.
Original description below
In T381412, we learnt that the eqiad datacenter utilizes core routers to manage all traffic between the Hadoop HDFS nodes and the Presto nodes. Things got ugly when we attempted to read ~40TB of data.
We now have a Ceph cluster that we have discussed could be used to offload some data away from HDFS. But presumably, this new Ceph cluster is also one core router away from HDFS, and thus any and all data read or write will have to go thru a core router for any job, that is, not only Presto, but any Spark job, which is the biggest workload in our Hadoop infrastructure.
@cmooney mentioned in Slack that eqiad will eventually switch its network topology away from a core router design, but this work may be ~24 months away.
In this task, we want to test the performance and reliability of the current architecture by:
- Running a similarly big query as in T381412 via Spark on a table hosted in Ceph, and see what happens.
- Running a smaller query, say, ~5TB, and see what happens.
- Gather info, and inform future network topology changes for the analytics side of things.