if (ORIGINAL_PATTERN.matcher(filename).matches()) { result .setOldStyle(true) .minimumWriteId(0) .maximumWriteId(0) .setOldStyle(true) .minimumWriteId(0) .maximumWriteId(0) if (bucketFile.getParent().getName().startsWith(BASE_PREFIX)) { result .setOldStyle(false) .minimumWriteId(0) .maximumWriteId(ParsedBase.parseBase(bucketFile.getParent()).getWriteId()) bucketFile.getFileSystem(conf)); result .setOldStyle(false) .minimumWriteId(parsedDelta.minWriteId) .maximumWriteId(parsedDelta.maxWriteId) bucketFile.getFileSystem(conf)); result .setOldStyle(false) .minimumWriteId(parsedDelta.minWriteId) .maximumWriteId(parsedDelta.maxWriteId) result.setOldStyle(true).bucket(bucket).minimumWriteId(0)
Integer.parseInt(filename.substring(0, filename.indexOf('_'))); result .setOldStyle(true) .minimumTransactionId(0) .maximumTransactionId(0) if (bucketFile.getParent().getName().startsWith(BASE_PREFIX)) { result .setOldStyle(false) .minimumTransactionId(0) .maximumTransactionId(parseBase(bucketFile.getParent())) ParsedDelta parsedDelta = parsedDelta(bucketFile.getParent(), DELTA_PREFIX); result .setOldStyle(false) .minimumTransactionId(parsedDelta.minTransaction) .maximumTransactionId(parsedDelta.maxTransaction) ParsedDelta parsedDelta = parsedDelta(bucketFile.getParent(), DELETE_DELTA_PREFIX); result .setOldStyle(false) .minimumTransactionId(parsedDelta.minTransaction) .maximumTransactionId(parsedDelta.maxTransaction) result.setOldStyle(true).bucket(-1).minimumTransactionId(0) .maximumTransactionId(0);
@Test public void testCreateFilenameLargeIds() throws Exception { Path p = new Path("/tmp"); Configuration conf = new Configuration(); AcidOutputFormat.Options options = new AcidOutputFormat.Options(conf) .setOldStyle(true).bucket(123456789); assertEquals("/tmp/123456789_0", AcidUtils.createFilename(p, options).toString()); options.bucket(23) .minimumWriteId(1234567880) .maximumWriteId(1234567890) .writingBase(true) .setOldStyle(false); assertEquals("/tmp/base_1234567890/bucket_00023", AcidUtils.createFilename(p, options).toString()); options.writingBase(false); assertEquals("/tmp/delta_1234567880_1234567890_0000/bucket_00023", AcidUtils.createFilename(p, options).toString()); }
Integer.parseInt(filename.substring(0, filename.indexOf('_'))); result .setOldStyle(true) .minimumTransactionId(0) .maximumTransactionId(0) Integer.parseInt(filename.substring(filename.indexOf('_') + 1)); result .setOldStyle(false) .minimumTransactionId(0) .maximumTransactionId(parseBase(bucketFile.getParent())) .bucket(bucket); } else { result.setOldStyle(true).bucket(-1).minimumTransactionId(0) .maximumTransactionId(0);
Configuration conf = new Configuration(); AcidOutputFormat.Options options = new AcidOutputFormat.Options(conf) .setOldStyle(true).bucket(1); assertEquals("/tmp/000001_0", AcidUtils.createFilename(p, options).toString()); .maximumWriteId(200) .writingBase(true) .setOldStyle(false); assertEquals("/tmp/base_0000200/bucket_00023", AcidUtils.createFilename(p, options).toString());