docs: def set_args(self, args, unknown_args=None):
          """
          Configure job, based on the arguments provided.
          """
          if unknown_args is None:
              unknown_args = []
          self.logger.setLevel(getattr(logging, args.log_level))
  
          parent = hdfs.path.dirname(hdfs.path.abspath(args.output.rstrip("/")))
          self.remote_wd = hdfs.path.join(
              parent, utils.make_random_str(prefix="pydoop_submit_")
          )
          self.remote_exe = hdfs.path.join(self.remote_wd, str(uuid.uuid4()))
          self.properties[JOB_NAME] = args.job_name or 'pydoop'
          self.properties[IS_JAVA_RR] = (
              'false' if args.do_not_use_java_record_reader else 'true'
          )
          self.properties[IS_JAVA_RW] = (
              'false' if args.do_not_use_java_record_writer else 'true'
          )
          self.properties[JOB_REDUCES] = args.num_reducers
          if args.job_name:
              self.properties[JOB_NAME] = args.job_name
          self.properties.update(args.job_conf or {})
          self.__set_files_to_cache(args)
          self.__set_archives_to_cache(args)
          self.requested_env = self._env_arg_to_dict(args.set_env or [])
          self.args = args
          self.unknown_args = unknown_args