当前位置: 首页>>代码示例>>Java>>正文


Java RowtimeAttributeDescriptor类代码示例

本文整理汇总了Java中org.apache.flink.table.sources.RowtimeAttributeDescriptor的典型用法代码示例。如果您正苦于以下问题:Java RowtimeAttributeDescriptor类的具体用法?Java RowtimeAttributeDescriptor怎么用?Java RowtimeAttributeDescriptor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


RowtimeAttributeDescriptor类属于org.apache.flink.table.sources包,在下文中一共展示了RowtimeAttributeDescriptor类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: withRowtimeAttribute

import org.apache.flink.table.sources.RowtimeAttributeDescriptor; //导入依赖的package包/类
/**
 * Configures a field of the table to be a rowtime attribute.
 * The configured field must be present in the table schema and of type {@link Types#SQL_TIMESTAMP()}.
 *
 * @param rowtimeAttribute The name of the rowtime attribute in the table schema.
 * @param timestampExtractor The {@link TimestampExtractor} to extract the rowtime attribute from the physical type.
 * @param watermarkStrategy The {@link WatermarkStrategy} to generate watermarks for the rowtime attribute.
 * @return The builder.
 */
public B withRowtimeAttribute(
		String rowtimeAttribute,
		TimestampExtractor timestampExtractor,
		WatermarkStrategy watermarkStrategy) {
	Preconditions.checkNotNull(rowtimeAttribute, "Rowtime attribute must not be null.");
	Preconditions.checkArgument(!rowtimeAttribute.isEmpty(), "Rowtime attribute must not be empty.");
	Preconditions.checkNotNull(timestampExtractor, "Timestamp extractor must not be null.");
	Preconditions.checkNotNull(watermarkStrategy, "Watermark assigner must not be null.");
	Preconditions.checkArgument(this.rowtimeAttributeDescriptor == null,
		"Currently, only one rowtime attribute is supported.");

	this.rowtimeAttributeDescriptor = new RowtimeAttributeDescriptor(
		rowtimeAttribute,
		timestampExtractor,
		watermarkStrategy);
	return builder();
}
 
开发者ID:axbaretto,项目名称:flink,代码行数:27,代码来源:KafkaTableSource.java

示例2: withKafkaTimestampAsRowtimeAttribute

import org.apache.flink.table.sources.RowtimeAttributeDescriptor; //导入依赖的package包/类
/**
 * Configures the Kafka timestamp to be a rowtime attribute.
 *
 * <p>Note: Kafka supports message timestamps only since version 0.10.</p>
 *
 * @param rowtimeAttribute The name of the rowtime attribute in the table schema.
 * @param watermarkStrategy The {@link WatermarkStrategy} to generate watermarks for the rowtime attribute.
 * @return The builder.
 */
public B withKafkaTimestampAsRowtimeAttribute(
		String rowtimeAttribute,
		WatermarkStrategy watermarkStrategy) {

	Preconditions.checkNotNull(rowtimeAttribute, "Rowtime attribute must not be null.");
	Preconditions.checkArgument(!rowtimeAttribute.isEmpty(), "Rowtime attribute must not be empty.");
	Preconditions.checkNotNull(watermarkStrategy, "Watermark assigner must not be null.");
	Preconditions.checkArgument(this.rowtimeAttributeDescriptor == null,
		"Currently, only one rowtime attribute is supported.");
	Preconditions.checkArgument(supportsKafkaTimestamps(), "Kafka timestamps are only supported since Kafka 0.10.");

	this.rowtimeAttributeDescriptor = new RowtimeAttributeDescriptor(
		rowtimeAttribute,
		new StreamRecordTimestamp(),
		watermarkStrategy);
	return builder();
}
 
开发者ID:axbaretto,项目名称:flink,代码行数:27,代码来源:KafkaTableSource.java

示例3: testRowtimeAttribute

import org.apache.flink.table.sources.RowtimeAttributeDescriptor; //导入依赖的package包/类
@Test
public void testRowtimeAttribute() {
	KafkaTableSource.Builder b = getBuilder();
	configureBuilder(b);
	b.withRowtimeAttribute("time2", new ExistingField("time2"), new AscendingTimestamps());

	KafkaTableSource source = b.build();

	// assert no proctime
	assertNull(source.getProctimeAttribute());

	// assert correct rowtime descriptor
	List<RowtimeAttributeDescriptor> descs = source.getRowtimeAttributeDescriptors();
	assertNotNull(descs);
	assertEquals(1, descs.size());
	RowtimeAttributeDescriptor desc = descs.get(0);
	assertEquals("time2", desc.getAttributeName());
	// assert timestamp extractor
	assertTrue(desc.getTimestampExtractor() instanceof ExistingField);
	assertEquals(1, desc.getTimestampExtractor().getArgumentFields().length);
	assertEquals("time2", desc.getTimestampExtractor().getArgumentFields()[0]);
	// assert watermark strategy
	assertTrue(desc.getWatermarkStrategy() instanceof AscendingTimestamps);
}
 
开发者ID:axbaretto,项目名称:flink,代码行数:25,代码来源:KafkaTableSourceTestBase.java

示例4: setRowtimeAttributeDescriptors

import org.apache.flink.table.sources.RowtimeAttributeDescriptor; //导入依赖的package包/类
/**
 * Declares a list of fields to be rowtime attributes.
 *
 * @param rowtimeAttributeDescriptors The descriptors of the rowtime attributes.
 */
protected void setRowtimeAttributeDescriptors(List<RowtimeAttributeDescriptor> rowtimeAttributeDescriptors) {
	// validate that all declared fields exist and are of correct type
	for (RowtimeAttributeDescriptor desc : rowtimeAttributeDescriptors) {
		String rowtimeAttribute = desc.getAttributeName();
		Option<TypeInformation<?>> tpe = schema.getType(rowtimeAttribute);
		if (tpe.isEmpty()) {
			throw new ValidationException("Rowtime attribute " + rowtimeAttribute + " is not present in TableSchema.");
		} else if (tpe.get() != Types.SQL_TIMESTAMP()) {
			throw new ValidationException("Rowtime attribute " + rowtimeAttribute + " is not of type SQL_TIMESTAMP.");
		}
	}
	this.rowtimeAttributeDescriptors = rowtimeAttributeDescriptors;
}
 
开发者ID:axbaretto,项目名称:flink,代码行数:19,代码来源:KafkaTableSource.java

示例5: testRowtimeAttribute2

import org.apache.flink.table.sources.RowtimeAttributeDescriptor; //导入依赖的package包/类
@Test
public void testRowtimeAttribute2() {
	KafkaTableSource.Builder b = getBuilder();
	configureBuilder(b);

	try {
		b.withKafkaTimestampAsRowtimeAttribute("time2", new AscendingTimestamps());

		KafkaTableSource source = b.build();

		// assert no proctime
		assertNull(source.getProctimeAttribute());

		// assert correct rowtime descriptor
		List<RowtimeAttributeDescriptor> descs = source.getRowtimeAttributeDescriptors();
		assertNotNull(descs);
		assertEquals(1, descs.size());
		RowtimeAttributeDescriptor desc = descs.get(0);
		assertEquals("time2", desc.getAttributeName());
		// assert timestamp extractor
		assertTrue(desc.getTimestampExtractor() instanceof StreamRecordTimestamp);
		assertTrue(desc.getTimestampExtractor().getArgumentFields().length == 0);
		// assert watermark strategy
		assertTrue(desc.getWatermarkStrategy() instanceof AscendingTimestamps);
	} catch (Exception e) {
		if (b.supportsKafkaTimestamps()) {
			// builder should support Kafka timestamps
			fail();
		}
	}
}
 
开发者ID:axbaretto,项目名称:flink,代码行数:32,代码来源:KafkaTableSourceTestBase.java

示例6: getRowtimeAttributeDescriptors

import org.apache.flink.table.sources.RowtimeAttributeDescriptor; //导入依赖的package包/类
@Override
public List<RowtimeAttributeDescriptor> getRowtimeAttributeDescriptors() {
	return rowtimeAttributeDescriptors;
}
 
开发者ID:axbaretto,项目名称:flink,代码行数:5,代码来源:KafkaTableSource.java

示例7: getRowtimeAttributeDescriptors

import org.apache.flink.table.sources.RowtimeAttributeDescriptor; //导入依赖的package包/类
@Override
public List<RowtimeAttributeDescriptor> getRowtimeAttributeDescriptors() {
	RowtimeAttributeDescriptor descriptor = new RowtimeAttributeDescriptor("eventTime", new StreamRecordTimestamp(), new PreserveWatermarks());
	return Collections.singletonList(descriptor);
}
 
开发者ID:dataArtisans,项目名称:flink-training-exercises,代码行数:6,代码来源:TaxiRideTableSource.java

示例8: setRowtimeAttributeDescriptor

import org.apache.flink.table.sources.RowtimeAttributeDescriptor; //导入依赖的package包/类
/**
 * Declares a field of the schema to be a rowtime attribute.
 *
 * @param rowtimeAttributeDescriptor The descriptor of the rowtime attribute.
 */
public void setRowtimeAttributeDescriptor(RowtimeAttributeDescriptor rowtimeAttributeDescriptor) {
	Preconditions.checkNotNull(rowtimeAttributeDescriptor, "Rowtime attribute descriptor must not be null.");
	super.setRowtimeAttributeDescriptors(Collections.singletonList(rowtimeAttributeDescriptor));
}
 
开发者ID:axbaretto,项目名称:flink,代码行数:10,代码来源:Kafka09JsonTableSource.java


注:本文中的org.apache.flink.table.sources.RowtimeAttributeDescriptor类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。