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

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

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

Utilities.createUDFClassLoader介绍

暂无

代码示例

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

public FunctionLocalizer(Configuration conf, String localDir) {
 this.conf = conf;
 this.localDir = new File(localDir, DIR_NAME);
 this.executorClassloader = (URLClassLoader)Utilities.createUDFClassLoader(
   (URLClassLoader)Thread.currentThread().getContextClassLoader(), new String[]{});
 this.workThread = new Thread(new Runnable() {
  @Override
  public void run() {
   runWorkThread();
  }
 });
}

代码示例来源: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: apache/drill

public SessionState(HiveConf conf, String userName) {
 this.sessionConf = conf;
 this.userName = userName;
 this.registry = new Registry(false);
 if (LOG.isDebugEnabled()) {
  LOG.debug("SessionState user: " + userName);
 }
 isSilent = conf.getBoolVar(HiveConf.ConfVars.HIVESESSIONSILENT);
 ls = new LineageState();
 resourceMaps = new ResourceMaps();
 // Must be deterministic order map for consistent q-test output across Java versions
 overriddenConfigurations = new LinkedHashMap<String, String>();
 overriddenConfigurations.putAll(HiveConf.getConfSystemProperties());
 // if there isn't already a session name, go ahead and create it.
 if (StringUtils.isEmpty(conf.getVar(HiveConf.ConfVars.HIVESESSIONID))) {
  conf.setVar(HiveConf.ConfVars.HIVESESSIONID, makeSessionId());
 }
 // Using system classloader as the parent. Using thread context
 // classloader as parent can pollute the session. See HIVE-11878
 parentLoader = SessionState.class.getClassLoader();
 // Make sure that each session has its own UDFClassloader. For details see {@link UDFClassLoader}
 final ClassLoader currentLoader = Utilities.createUDFClassLoader((URLClassLoader) parentLoader, new String[]{});
 this.sessionConf.setClassLoader(currentLoader);
 resourceDownloader = new ResourceDownloader(conf,
   HiveConf.getVar(conf, ConfVars.DOWNLOADED_RESOURCES_DIR));
}

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

public SessionState(HiveConf conf, String userName) {
 this.sessionConf = conf;
 this.userName = userName;
 this.registry = new Registry(false);
 if (LOG.isDebugEnabled()) {
  LOG.debug("SessionState user: " + userName);
 }
 isSilent = conf.getBoolVar(HiveConf.ConfVars.HIVESESSIONSILENT);
 resourceMaps = new ResourceMaps();
 // Must be deterministic order map for consistent q-test output across Java versions
 overriddenConfigurations = new LinkedHashMap<String, String>();
 overriddenConfigurations.putAll(HiveConf.getConfSystemProperties());
 // if there isn't already a session name, go ahead and create it.
 if (StringUtils.isEmpty(conf.getVar(HiveConf.ConfVars.HIVESESSIONID))) {
  conf.setVar(HiveConf.ConfVars.HIVESESSIONID, makeSessionId());
  getConsole().printInfo("Hive Session ID = " + getSessionId());
 }
 // Using system classloader as the parent. Using thread context
 // classloader as parent can pollute the session. See HIVE-11878
 parentLoader = SessionState.class.getClassLoader();
 // Make sure that each session has its own UDFClassloader. For details see {@link UDFClassLoader}
 final ClassLoader currentLoader = Utilities.createUDFClassLoader((URLClassLoader) parentLoader, new String[]{});
 this.sessionConf.setClassLoader(currentLoader);
 resourceDownloader = new ResourceDownloader(conf,
   HiveConf.getVar(conf, ConfVars.DOWNLOADED_RESOURCES_DIR));
 killQuery = new NullKillQuery();
 ShimLoader.getHadoopShims().setHadoopSessionContext(getSessionId());
}

代码示例来源:origin: org.apache.hive/hive-llap-server

public FunctionLocalizer(Configuration conf, String localDir) {
 this.conf = conf;
 this.localDir = new File(localDir, DIR_NAME);
 this.executorClassloader = (URLClassLoader)Utilities.createUDFClassLoader(
   (URLClassLoader)Thread.currentThread().getContextClassLoader(), new String[]{});
 this.workThread = new Thread(new Runnable() {
  @Override
  public void run() {
   runWorkThread();
  }
 });
}

相关文章

微信公众号

最新文章

更多

Utilities类方法