@Override public Object extractValue(String column, int index) { return delegate.extractValue(column, index); }
Long getCount(final JobDataFragment data) { return (Long) data.extractValue(COUNT_COLUMN, 0); }
public Object toValue(final JobDataFragment data) { return data.extractValue(alias, 0); }
public static List<String> getRefreshPath(final JobId jobId, final JobData jobData, final Path accelerationBasePath) { // extract written path from writer's metadata JobDataFragment data = jobData.range(0, 1); Text text = (Text) Preconditions.checkNotNull(data.extractValue(RecordWriter.PATH_COLUMN, 0), "Empty write path for job %s", jobId.getId()); // relative path to the acceleration base path final String path = PathUtils.relativePath(new Path(text.toString()), accelerationBasePath); // extract first 2 components of the path "<reflection-id>."<modified-materialization-id>" List<String> components = PathUtils.toPathComponents(path); Preconditions.checkState(components.size() >= 2, "Refresh path %s is incomplete", path); return ImmutableList.of(ACCELERATOR_STORAGEPLUGIN_NAME, components.get(0), components.get(1)); }
/** * @return next updateId */ private static long getUpdateId(final JobId jobId, final JobData jobData) { final int fetchLimit = 1000; long maxValue = Long.MIN_VALUE; int offset = 0; JobDataFragment data = jobData.range(offset, fetchLimit); while (data.getReturnedRowCount() > 0) { for (int i = 0; i < data.getReturnedRowCount(); i++) { byte[] b = (byte[]) data.extractValue(RecordWriter.METADATA_COLUMN, i); if(b == null) { throw new IllegalStateException("Didn't find metadata output for job " + jobId.getId()); } long val = Long.parseLong(new String(b)); maxValue = Math.max(maxValue, val); } offset += data.getReturnedRowCount(); data = jobData.range(offset, fetchLimit); } return maxValue; }
while (data.getReturnedRowCount() > 0) { for (int i = 0; i < data.getReturnedRowCount(); i++) { final long fileSize = (Long) data.extractValue(RecordWriter.FILESIZE_COLUMN, i); footprint += fileSize; fileSizes.add(fileSize);
@Override public JobUI answer(InvocationOnMock invocation) throws Throwable { String query = invocation.getArgumentAt(0, SqlQuery.class).getSql(); Job job = mock(Job.class); JobData jobData = mock(JobData.class); when(job.getData()).thenReturn(jobData); if ("SELECT * FROM dataset".equals(query)) { when(jobData.getJobResultsTable()).thenReturn("jobResults.previewJob"); } else if (query.contains("jobResults.previewJob")) { if (expFilter != null) { assertTrue(query, query.contains(expFilter)); } else { assertFalse(query, query.contains("WHERE")); } JobDataFragment fragment = mock(JobDataFragment.class); when(jobData.truncate(1)).thenReturn(fragment); when(fragment.getSchema()).thenReturn( BatchSchema.newBuilder() .addField(new Field("dremio_selection_count", true, new ArrowType.Int(64, true), null)) .build() ); when(fragment.extractValue("dremio_selection_count", 0)).thenReturn(expCount); } return new JobUI(job); } }
List<Object> valuesFromResult = new ArrayList<>(); for(Field c : result.getSchema()) { valuesFromResult.add(result.extractValue(c.getName(), i)); List<Object> valuesFromStored = new ArrayList<>(); for(Field c : storedResult.getSchema()) { valuesFromStored.add(storedResult.extractValue(c.getName(), j));