Dataproc: Hot data on HDFS, cold data on Cloud Storage?

Viewed 169

I am studying for the Professional Data Engineer and I wonder what is the "Google recommended best practice" for hot data on Dataproc (given that costs are no concern)?

If cost is a concern then I found a recommendation to have all data in Cloud Storage because it is cheaper.

Can a mechanism be set up, such that all data is on Cloud Storage and recent data is cached on HDFS automatically? Something like AWS does with FSx/Lustre and S3.

2 Answers

What to store in HDFS and what to store in GCS is a case-dependant question. Dataproc supports running hadoop or spark jobs on GCS with GCS connector, which makes Cloud Storage HDFS compatible without performance losses.

Cloud Storage connector is installed by default on all Dataproc cluster nodes and it's available on both Spark and PySpark environments.

After researching a bit: the performance of HDFS and Cloud Storage (or any other blog store) is not completely equivalent. For instance a "mv" operation in a blob store is emulated as copy + delete.

What the ASF can do is warn that our own BlobStore filesystems (currently s3:, s3n: and swift:) are not complete replacements for hdfs:, as operations such as rename() are only emulated through copying then deleting all operations, and so a directory rename is not atomic -a requirement of POSIX filesystems which some applications (MapReduce) currently depend on.

Source: https://cwiki.apache.org/confluence/display/HADOOP2/HCFS

Related