Explain partitioning and shuffling in distributed computing frameworks like Spark or Hadoop and how you manage them at Barclays.