public GenericRecords(Records records) { records_ = records ; schema_ = records_.getSchema(); avroSchema_ = SchemaUtils.convertSchema(schema_); }
@SuppressWarnings("unchecked") public SpecificRecords(Schema readerSchema, Records records, RecordUtil.ResolveBy resolveBy) { avroSchema_ = readerSchema; class_ = new SpecificData().getClass(avroSchema_); records_ = records; schema_ = records_.getSchema(); recordIndexToRsIndex_ = RecordUtil.resolveSchema(avroSchema_, schema_, resolveBy); }
@SuppressWarnings("unchecked") public KeyValueRecords(Schema keySchema, Schema valueSchema, Records records) { keySchema_ = keySchema; valueSchema_ = valueSchema; keyClass_ = new SpecificData().getClass(keySchema_); valueClass_ = new SpecificData().getClass(valueSchema_); records_ = records; schema_ = records_.getSchema(); // Verifies and resolves the schema of Key / value with the RecordService schema. keyIndexToRsIndex_ = RecordUtil.resolveSchema(keySchema_, schema_, RecordUtil.ResolveBy.NAME); valueIndexToRsIndex_ = RecordUtil.resolveSchema(valueSchema_, schema_, RecordUtil.ResolveBy.NAME); }
/** * Creates a RecordReaderCore to read the records for taskInfo. */ @SuppressWarnings("unchecked") public RecordReaderCore(Configuration config, Credentials credentials, TaskInfo taskInfo) throws RecordServiceException, IOException { Token<DelegationTokenIdentifier> token = (Token<DelegationTokenIdentifier>) credentials.getToken(DelegationTokenIdentifier.DELEGATION_KIND); RecordServiceWorkerClient.Builder builder = WorkerUtil.getBuilder(config, TokenUtils.toDelegationToken(token)); NetworkAddress address = WorkerUtil.getWorkerToConnectTo( taskInfo.getTask().taskId, taskInfo.getLocations(), taskInfo.getAllWorkerAddresses()); setTag(taskInfo.getTask(), config); try { worker_ = builder.connect(address.hostname, address.port); records_ = worker_.execAndFetch(taskInfo.getTask()); } finally { if (records_ == null) close(); } schema_ = new Schema(records_.getSchema()); }