code: def saveAsTable(self, name, format=None, mode=None, partitionBy=None, **options):
          
          self.mode(mode).options(**options)
          if partitionBy is not None:
              self.partitionBy(partitionBy)
          if format is not None:
              self.format(format)
          self._jwrite.saveAsTable(name)
docs: Saves the content of the :class:`DataFrame` as the specified table.
  
          In the case the table already exists, behavior of this function depends on the
          save mode, specified by the `mode` function (default to throwing an exception).
          When `mode` is `Overwrite`, the schema of the :class:`DataFrame` does not need to be
          the same as that of the existing table.
  
          * `append`: Append contents of this :class:`DataFrame` to existing data.
          * `overwrite`: Overwrite existing data.
          * `error` or `errorifexists`: Throw an exception if data already exists.
          * `ignore`: Silently ignore this operation if data already exists.
  
          :param name: the table name
          :param format: the format used to save
          :param mode: one of `append`, `overwrite`, `error`, `errorifexists`, `ignore` \
                       (default: error)
          :param partitionBy: names of partitioning columns
          :param options: all other string options