code: def partitionBy(self, *cols):
          
          if len(cols) == 1 and isinstance(cols[0], (list, tuple)):
              cols = cols[0]
          self._jwrite = self._jwrite.partitionBy(_to_seq(self._spark._sc, cols))
          return self
docs: Partitions the output by the given columns on the file system.
  
          If specified, the output is laid out on the file system similar
          to Hive's partitioning scheme.
  
          :param cols: name of columns
  
          >>> df.write.partitionBy('year', 'month').parquet(os.path.join(tempfile.mkdtemp(), 'data'))