/** * Returns a {@code TimePartitioning} object given the time partitioning type. Currently, the only * type supported is {@link Type#DAY}, which will generate one partition per day based on data * loading time. The partitions will not expire. */ public static TimePartitioning of(Type type) { return newBuilder(type).build(); }
/** * Returns a {@code TimePartitioning} object given the time partitioning type and the partition's * expiration in milliseconds. * * @param type the time partitioning type. Currently, the only type supported is {@link Type#DAY}, * which will generate one partition per day based on data loading time. * @param expirationMs the number of milliseconds for which to keep the storage for a partition */ public static TimePartitioning of(Type type, long expirationMs) { return newBuilder(type).setExpirationMs(expirationMs).build(); }
static TimePartitioning fromPb( com.google.api.services.bigquery.model.TimePartitioning partitioningPb) { Long expirationMs = partitioningPb.getExpirationMs(); if (Data.isNull(expirationMs)) { expirationMs = null; } return newBuilder(Type.valueOf(partitioningPb.getType())) .setExpirationMs(expirationMs) .setField(partitioningPb.getField()) .setRequirePartitionFilter(partitioningPb.getRequirePartitionFilter()) .build(); } }
@Test public void testBuilder() { TimePartitioning partitioning = TimePartitioning.newBuilder(TYPE).build(); assertEquals(TYPE, partitioning.getType()); assertNull(partitioning.getExpirationMs()); assertNull(partitioning.getRequirePartitionFilter()); assertNull(partitioning.getField()); partitioning = TimePartitioning.newBuilder(TYPE).setExpirationMs(100L).build(); assertEquals(TYPE, partitioning.getType()); assertEquals(100, (long) partitioning.getExpirationMs()); assertNull(partitioning.getRequirePartitionFilter()); assertNull(partitioning.getField()); }
/** * Returns a {@code TimePartitioning} object given the time partitioning type. Currently, the only * type supported is {@link Type#DAY}, which will generate one partition per day based on data * loading time. The partitions will not expire. */ public static TimePartitioning of(Type type) { return newBuilder(type).build(); }
/** * Returns a {@code TimePartitioning} object given the time partitioning type and the partition's * expiration in milliseconds. * * @param type the time partitioning type. Currently, the only type supported is {@link Type#DAY}, * which will generate one partition per day based on data loading time. * @param expirationMs the number of milliseconds for which to keep the storage for a partition */ public static TimePartitioning of(Type type, long expirationMs) { return newBuilder(type).setExpirationMs(expirationMs).build(); }
static TimePartitioning fromPb( com.google.api.services.bigquery.model.TimePartitioning partitioningPb) { Long expirationMs = partitioningPb.getExpirationMs(); if (Data.isNull(expirationMs)) { expirationMs = null; } return newBuilder(Type.valueOf(partitioningPb.getType())) .setExpirationMs(expirationMs) .setField(partitioningPb.getField()) .setRequirePartitionFilter(partitioningPb.getRequirePartitionFilter()) .build(); } }