org.apache.lens.server.api.query.QueryContext.getDriverResultPath()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(3.5k)|赞(0)|评价(0)|浏览(119)

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

QueryContext.getDriverResultPath介绍

暂无

代码示例

代码示例来源:origin: org.apache.lens/lens-driver-hive

/**
 * Creates the result set.
 *
 * @param context         the context
 * @param closeAfterFetch the close after fetch
 * @return the lens result set
 * @throws LensException the lens exception
 */
private LensResultSet createResultSet(QueryContext context, boolean closeAfterFetch) throws LensException {
 OperationHandle op = getHiveHandle(context.getQueryHandle());
 log.info("Creating result set for hiveHandle:{}", op);
 try {
  if (context.isDriverPersistent()) {
   return new HivePersistentResultSet(new Path(context.getDriverResultPath()), op, getClient());
  } else if (op.hasResultSet()) {
   return new HiveInMemoryResultSet(op, getClient(), closeAfterFetch);
  } else {
   // queries that do not have result
   return null;
  }
 } catch (HiveSQLException hiveErr) {
  handleHiveServerError(context, hiveErr);
  throw new LensException("Error creating result set", hiveErr);
 }
}

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

/**
 * Creates the result set.
 *
 * @param context         the context
 * @param closeAfterFetch the close after fetch
 * @return the lens result set
 * @throws LensException the lens exception
 */
private LensResultSet createResultSet(QueryContext context, boolean closeAfterFetch) throws LensException {
 OperationHandle op = getHiveHandle(context.getQueryHandle());
 log.info("Creating result set for hiveHandle:{}", op);
 try {
  if (context.isDriverPersistent()) {
   return new HivePersistentResultSet(new Path(context.getDriverResultPath()), op, getClient());
  } else if (op.hasResultSet()) {
   return new HiveInMemoryResultSet(op, getClient(), closeAfterFetch);
  } else {
   // queries that do not have result
   return null;
  }
 } catch (HiveSQLException hiveErr) {
  handleHiveServerError(context, hiveErr);
  throw new LensException("Error creating result set", hiveErr);
 }
}

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

boolean isPersistedInDriver = resultSet instanceof PersistentResultSet;
if (isPersistedInDriver) {          // skip result formatting if persisted size is huge
 Path persistedDirectory = new Path(ctx.getDriverResultPath());
 FileSystem fs = persistedDirectory.getFileSystem(ctx.getConf());
 long size = fs.getContentSummary(persistedDirectory).getLength();
  Path persistedDirectory = new Path(ctx.getDriverResultPath());

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

/**
 * Test explain output persistent.
 *
 * @throws Exception the exception
 */
@Test
public void testExplainOutputPersistent() throws Exception {
 int handleSize = getHandleSize();
 createTestTable("explain_test_1");
 queryConf.setBoolean(LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER, true);
 SessionState.setCurrentSessionState(ss);
 String query2 = "SELECT DISTINCT ID FROM explain_test_1";
 PreparedQueryContext pctx = createPreparedQueryContext(query2);
 pctx.setSelectedDriver(driver);
 pctx.setLensSessionIdentifier(sessionid);
 DriverQueryPlan plan2 = driver.explainAndPrepare(pctx);
 // assertNotNull(plan2.getResultDestination());
 assertHandleSize(handleSize);
 assertNotNull(plan2.getTablesQueried());
 assertEquals(plan2.getTablesQueried().size(), 1);
 assertTrue(plan2.getTableWeights().containsKey(dataBase + ".explain_test_1"));
 QueryContext ctx = createContext(pctx, queryConf);
 LensResultSet resultSet = driver.execute(ctx);
 assertHandleSize(handleSize);
 HivePersistentResultSet persistentResultSet = (HivePersistentResultSet) resultSet;
 String path = persistentResultSet.getOutputPath();
 assertEquals(ctx.getDriverResultPath(), path);
 driver.closeQuery(plan2.getHandle());
}

相关文章

微信公众号

最新文章

更多