code: def _parse_path(self, path):
          
          # Support specifying another host via hdfs://host:port/path syntax
          # We ignore the scheme and piece together the query and fragment
          # Note that HDFS URIs are not URL encoded, so a '?' or a '#' in the URI is part of the
          # path
          parts = urlsplit(path, allow_fragments=False)
          if not parts.path.startswith('/'):
              raise ValueError("Path must be absolute, was given {}".format(path))
          if parts.scheme not in ('', 'hdfs', 'hftp', 'webhdfs'):
              warnings.warn("Unexpected scheme {}".format(parts.scheme))
          assert not parts.fragment
          path = parts.path
          if parts.query:
              path += '?' + parts.query
          if parts.netloc:
              hosts = self._parse_hosts(parts.netloc)
          else:
              hosts = self.hosts
          return hosts, path
docs: Return (hosts, path) tuple