org.apache.hadoop.hive.ql.exec.Utilities.urlFromPathString()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(5.5k)|赞(0)|评价(0)|浏览(88)

本文整理了Java中org.apache.hadoop.hive.ql.exec.Utilities.urlFromPathString()方法的一些代码示例,展示了Utilities.urlFromPathString()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Utilities.urlFromPathString()方法的具体详情如下:
包路径:org.apache.hadoop.hive.ql.exec.Utilities
类名称:Utilities
方法名:urlFromPathString

Utilities.urlFromPathString介绍

[英]Create a URL from a string representing a path to a local file. The path string can be just a path, or can start with file:/, file:///
[中]从表示本地文件路径的字符串创建URL。路径字符串可以只是一个路径,也可以以file:/,file:///

代码示例

代码示例来源:origin: apache/hive

public static ClassLoader createUDFClassLoader(URLClassLoader loader, String[] newPaths) {
 final Set<URL> curPathsSet = Sets.newHashSet(loader.getURLs());
 final List<URL> curPaths = Lists.newArrayList(curPathsSet);
 for (String onestr : newPaths) {
  final URL oneurl = urlFromPathString(onestr);
  if (oneurl != null && !curPathsSet.contains(oneurl)) {
   curPaths.add(oneurl);
  }
 }
 return new UDFClassLoader(curPaths.toArray(new URL[0]), loader);
}

代码示例来源:origin: apache/drill

public static ClassLoader createUDFClassLoader(URLClassLoader loader, String[] newPaths) {
 final Set<URL> curPathsSet = Sets.newHashSet(loader.getURLs());
 final List<URL> curPaths = Lists.newArrayList(curPathsSet);
 for (String onestr : newPaths) {
  final URL oneurl = urlFromPathString(onestr);
  if (oneurl != null && !curPathsSet.contains(oneurl)) {
   curPaths.add(oneurl);
  }
 }
 return new UDFClassLoader(curPaths.toArray(new URL[0]), loader);
}

代码示例来源:origin: apache/hive

/**
 * remove elements from the classpath.
 *
 * @param pathsToRemove
 *          Array of classpath elements
 */
public static void removeFromClassPath(String[] pathsToRemove) throws IOException {
 Thread curThread = Thread.currentThread();
 URLClassLoader loader = (URLClassLoader) curThread.getContextClassLoader();
 Set<URL> newPath = new HashSet<URL>(Arrays.asList(loader.getURLs()));
 for (String onestr : pathsToRemove) {
  URL oneurl = urlFromPathString(onestr);
  if (oneurl != null) {
   newPath.remove(oneurl);
  }
 }
 JavaUtils.closeClassLoader(loader);
 // This loader is closed, remove it from cached registry loaders to avoid removing it again.
 Registry reg = SessionState.getRegistry();
 if(reg != null) {
  reg.removeFromUDFLoaders(loader);
 }
 loader = new UDFClassLoader(newPath.toArray(new URL[0]));
 curThread.setContextClassLoader(loader);
 SessionState.get().getConf().setClassLoader(loader);
}

代码示例来源:origin: apache/drill

/**
 * remove elements from the classpath.
 *
 * @param pathsToRemove
 *          Array of classpath elements
 */
public static void removeFromClassPath(String[] pathsToRemove) throws IOException {
 Thread curThread = Thread.currentThread();
 URLClassLoader loader = (URLClassLoader) curThread.getContextClassLoader();
 Set<URL> newPath = new HashSet<URL>(Arrays.asList(loader.getURLs()));
 for (String onestr : pathsToRemove) {
  URL oneurl = urlFromPathString(onestr);
  if (oneurl != null) {
   newPath.remove(oneurl);
  }
 }
 JavaUtils.closeClassLoader(loader);
 // This loader is closed, remove it from cached registry loaders to avoid removing it again.
 Registry reg = SessionState.getRegistry();
 if(reg != null) {
  reg.removeFromUDFLoaders(loader);
 }
 loader = new UDFClassLoader(newPath.toArray(new URL[0]));
 curThread.setContextClassLoader(loader);
 SessionState.get().getConf().setClassLoader(loader);
}

代码示例来源:origin: apache/hive

/**
 * Add new elements to the classpath.
 *
 * @param newPaths
 *          Array of classpath elements
 */
public static ClassLoader addToClassPath(ClassLoader cloader, String[] newPaths) {
 final URLClassLoader loader = (URLClassLoader) cloader;
 if (useExistingClassLoader(cloader)) {
  final UDFClassLoader udfClassLoader = (UDFClassLoader) loader;
  for (String path : newPaths) {
   udfClassLoader.addURL(urlFromPathString(path));
  }
  return udfClassLoader;
 } else {
  return createUDFClassLoader(loader, newPaths);
 }
}

代码示例来源:origin: apache/drill

/**
 * Add new elements to the classpath.
 *
 * @param newPaths
 *          Array of classpath elements
 */
public static ClassLoader addToClassPath(ClassLoader cloader, String[] newPaths) {
 final URLClassLoader loader = (URLClassLoader) cloader;
 if (useExistingClassLoader(cloader)) {
  final UDFClassLoader udfClassLoader = (UDFClassLoader) loader;
  for (String path : newPaths) {
   udfClassLoader.addURL(urlFromPathString(path));
  }
  return udfClassLoader;
 } else {
  return createUDFClassLoader(loader, newPaths);
 }
}

代码示例来源:origin: com.facebook.presto.hive/hive-apache

/**
 * Add new elements to the classpath.
 *
 * @param newPaths
 *          Array of classpath elements
 */
public static ClassLoader addToClassPath(ClassLoader cloader, String[] newPaths) throws Exception {
 URLClassLoader loader = (URLClassLoader) cloader;
 List<URL> curPath = Arrays.asList(loader.getURLs());
 ArrayList<URL> newPath = new ArrayList<URL>();
 // get a list with the current classpath components
 for (URL onePath : curPath) {
  newPath.add(onePath);
 }
 curPath = newPath;
 for (String onestr : newPaths) {
  URL oneurl = urlFromPathString(onestr);
  if (oneurl != null && !curPath.contains(oneurl)) {
   curPath.add(oneurl);
  }
 }
 return new URLClassLoader(curPath.toArray(new URL[0]), loader);
}

代码示例来源:origin: com.facebook.presto.hive/hive-apache

/**
  * remove elements from the classpath.
  *
  * @param pathsToRemove
  *          Array of classpath elements
  */
 public static void removeFromClassPath(String[] pathsToRemove) throws Exception {
  Thread curThread = Thread.currentThread();
  URLClassLoader loader = (URLClassLoader) curThread.getContextClassLoader();
  Set<URL> newPath = new HashSet<URL>(Arrays.asList(loader.getURLs()));

  for (String onestr : pathsToRemove) {
   URL oneurl = urlFromPathString(onestr);
   if (oneurl != null) {
    newPath.remove(oneurl);
   }
  }
  JavaUtils.closeClassLoader(loader);
//this loader is closed, remove it from cached registry loaders to avoid remove it again.
  Registry reg = SessionState.getRegistry();
  if(reg != null) {
   reg.removeFromUDFLoaders(loader);
  }

  loader = new URLClassLoader(newPath.toArray(new URL[0]));
  curThread.setContextClassLoader(loader);
  SessionState.get().getConf().setClassLoader(loader);
 }

相关文章

微信公众号

最新文章

更多

Utilities类方法