private List<String> queryMetadata(String query) { ImmutableList.Builder<String> cache = ImmutableList.builder(); try (StatementClient client = queryRunner.startInternalQuery(query)) { while (client.isRunning() && !Thread.currentThread().isInterrupted()) { QueryData results = client.currentData(); if (results.getData() != null) { for (List<Object> row : results.getData()) { cache.add((String) row.get(0)); } } client.advance(); } } return cache.build(); }
@Override public void addResults(QueryStatusInfo statusInfo, QueryData data) { if (!loggedUri.getAndSet(true)) { log.info("Query %s: %s", statusInfo.getId(), statusInfo.getInfoUri()); } if (types.get() == null && statusInfo.getColumns() != null) { types.set(getTypes(statusInfo.getColumns())); } if (data.getData() != null) { checkState(types.get() != null, "data received without types"); rows.addAll(transform(data.getData(), dataToRow(types.get()))); } }
public List<String> getSchemas(ClientSession session) { failures = 0; while (true) { ImmutableList.Builder<String> schemas = ImmutableList.builder(); AtomicBoolean success = new AtomicBoolean(true); execute( session, "show schemas", queryData -> { if (queryData.getData() != null) { for (List<Object> objects : queryData.getData()) { schemas.add(objects.get(0).toString()); } } }, queryError -> { success.set(false); handleFailure(getCause(queryError)); }); if (success.get()) { return schemas.build(); } } }
@Override public void addResults(QueryStatusInfo statusInfo, QueryData data) { if (types.get() == null && statusInfo.getColumns() != null) { types.set(getTypes(statusInfo.getColumns())); } if (data.getData() != null) { checkState(types.get() != null, "Data without types received!"); List<Column> columns = statusInfo.getColumns(); for (List<Object> fields : data.getData()) { ImmutableMap.Builder<String, Object> builder = ImmutableMap.builder(); for (int i = 0; i < fields.size(); i++) { Type type = types.get().get(i); Object value = convertValue(fields.get(i), type); if (value != null) { builder.put(columns.get(i).getName(), value); } } producer.send(new KeyedMessage<>(topicName, count.getAndIncrement(), builder.build())); } } }
public void processRows(StatementClient client) throws IOException { while (client.isRunning()) { Iterable<List<Object>> data = client.currentData().getData(); if (data != null) { for (List<Object> row : data) { processRow(unmodifiableList(row)); } } if (nanosSince(bufferStart).compareTo(MAX_BUFFER_TIME) >= 0) { flush(false); } client.advance(); } }
@Override public void addResults(QueryStatusInfo statusInfo, QueryData data) { if (types.get() == null && statusInfo.getColumns() != null) { types.set(getTypes(statusInfo.getColumns())); } if (data.getData() == null) { return; } checkState(types.get() != null, "Type information is missing"); List<Column> columns = statusInfo.getColumns(); for (List<Object> fields : data.getData()) { try { XContentBuilder dataBuilder = jsonBuilder().startObject(); for (int i = 0; i < fields.size(); i++) { Type type = types.get().get(i); Object value = convertValue(fields.get(i), type); dataBuilder.field(columns.get(i).getName(), value); } dataBuilder.endObject(); client.prepareIndex(tableName, "doc") .setSource(dataBuilder.string(), JSON) .get(); } catch (IOException e) { throw new UncheckedIOException("Error loading data into Elasticsearch index: " + tableName, e); } } }
try { if (client.currentData().getData() != null) { return;
private void processInitialStatusUpdates(WarningsPrinter warningsPrinter) { while (client.isRunning() && (client.currentData().getData() == null)) { warningsPrinter.print(client.currentStatusInfo().getWarnings(), true, false); client.advance(); } List<PrestoWarning> warnings; if (client.isRunning()) { warnings = client.currentStatusInfo().getWarnings(); } else { warnings = client.finalStatusInfo().getWarnings(); } warningsPrinter.print(warnings, false, true); }
private List<String> queryMetadata(String query) { ImmutableList.Builder<String> cache = ImmutableList.builder(); try (StatementClient client = queryRunner.startInternalQuery(query)) { while (client.isRunning() && !Thread.currentThread().isInterrupted()) { QueryData results = client.currentData(); if (results.getData() != null) { for (List<Object> row : results.getData()) { cache.add((String) row.get(0)); } } client.advance(); } } return cache.build(); }
@Override public void addResults(QueryStatusInfo statusInfo, QueryData data) { if (!loggedUri.getAndSet(true)) { log.info("Query %s: %s", statusInfo.getId(), statusInfo.getInfoUri()); } if (types.get() == null && statusInfo.getColumns() != null) { types.set(getTypes(statusInfo.getColumns())); } if (data.getData() != null) { checkState(types.get() != null, "data received without types"); rows.addAll(transform(data.getData(), dataToRow(types.get()))); } }
public void processRows(StatementClient client) throws IOException { while (client.isRunning()) { Iterable<List<Object>> data = client.currentData().getData(); if (data != null) { for (List<Object> row : data) { processRow(unmodifiableList(row)); } } if (nanosSince(bufferStart).compareTo(MAX_BUFFER_TIME) >= 0) { flush(false); } client.advance(); } }
try { if (client.currentData().getData() != null) { return;
private void processInitialStatusUpdates(WarningsPrinter warningsPrinter) { while (client.isRunning() && (client.currentData().getData() == null)) { warningsPrinter.print(client.currentStatusInfo().getWarnings(), true, false); client.advance(); } List<PrestoWarning> warnings; if (client.isRunning()) { warnings = client.currentStatusInfo().getWarnings(); } else { warnings = client.finalStatusInfo().getWarnings(); } warningsPrinter.print(warnings, false, true); }