I cannot fully understand how Hadoop Yarn and Apache Spark work, and I am not familiar with terms like resource manager, cluster manager, and so on. Should I first study distributed systems? If so, what are some recommended resources? What is resource management in Hadoop?