本文整理了Java中org.apache.flink.api.common.typeinfo.Types.ROW()
方法的一些代码示例,展示了Types.ROW()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Types.ROW()
方法的具体详情如下:
包路径:org.apache.flink.api.common.typeinfo.Types
类名称:Types
方法名:ROW
[英]Returns type information for org.apache.flink.types.Row with fields of the given types. A row itself must not be null.
A row is a fixed-length, null-aware composite type for storing multiple values in a deterministic field order. Every field can be null regardless of the field's type. The type of row fields cannot be automatically inferred; therefore, it is required to provide type information whenever a row is used.
The schema of rows can have up to Integer.MAX_VALUE
fields, however, all row instances must strictly adhere to the schema defined by the type info.
This method generates type information with fields of the given types; the fields have the default names (f0, f1, f2 ..).
[中]返回组织的类型信息。阿帕奇。弗林克。类型。包含给定类型字段的行。行本身不能为空。
行是一种固定长度、支持空的复合类型,用于以确定性字段顺序存储多个值。无论字段的类型如何,每个字段都可以为空。无法自动推断行字段的类型;因此,无论何时使用行,都需要提供类型信息。
行的模式最多可以有Integer.MAX_VALUE
个字段,但是,所有行实例必须严格遵守类型信息定义的模式。
该方法使用给定类型的字段生成类型信息;这些字段具有默认名称(f0、f1、f2..)。
代码示例来源:origin: apache/flink
@Override
public TypeInformation<Row> getProducedType() {
return Types.ROW(Types.INT, Types.LONG, Types.STRING);
}
代码示例来源:origin: apache/flink
private static TypeInformation<Row> convertObject(String location, JsonNode node, JsonNode root) {
// validate properties
if (!node.has(PROPERTIES)) {
return Types.ROW();
}
if (!node.isObject()) {
throw new IllegalArgumentException(
"Invalid '" + PROPERTIES + "' property for object type in node: " + location);
}
final JsonNode props = node.get(PROPERTIES);
final String[] names = new String[props.size()];
final TypeInformation<?>[] types = new TypeInformation[props.size()];
final Iterator<Map.Entry<String, JsonNode>> fieldIter = props.fields();
int i = 0;
while (fieldIter.hasNext()) {
final Map.Entry<String, JsonNode> subNode = fieldIter.next();
// set field name
names[i] = subNode.getKey();
// set type
types[i] = convertType(location + '/' + subNode.getKey(), subNode.getValue(), root);
i++;
}
// validate that object does not contain additional properties
if (node.has(ADDITIONAL_PROPERTIES) && node.get(ADDITIONAL_PROPERTIES).isBoolean() &&
node.get(ADDITIONAL_PROPERTIES).asBoolean()) {
throw new IllegalArgumentException(
"An object must not allow additional properties in node: " + location);
}
return Types.ROW_NAMED(names, types);
}
代码示例来源:origin: apache/flink
return Types.ROW(types.toArray(new TypeInformation<?>[0]));
代码示例来源:origin: apache/flink
@Override
public TypeInformation getProducedType() {
return Types.ROW(Types.INT, Types.SQL_TIMESTAMP);
}
代码示例来源:origin: apache/flink
testReadAndWrite(
"ROW<f0 DECIMAL, f1 TINYINT>",
Types.ROW(Types.BIG_DEC, Types.BYTE));
Types.MAP(Types.STRING, Types.ROW(Types.BIG_DEC, Types.BYTE)));
new MultisetTypeInfo<>(Types.ROW(Types.BIG_DEC, Types.BYTE)));
Types.ROW_NAMED(
new String[] {"singleton", "twoField"},
Types.ROW(Types.INT),
Types.ROW_NAMED(
new String[] {"Field 1", "Field`s 2"},
Types.ROW(Types.BIG_DEC), Types.STRING)));
代码示例来源:origin: apache/flink
@Override
public TypeInformation<Row> getReturnType() {
return Types.ROW(Types.INT, Types.LONG, Types.STRING);
}
代码示例来源:origin: com.alibaba.blink/flink-json
private static TypeInformation<Row> convertObject(String location, JsonNode node, JsonNode root) {
// validate properties
if (!node.has(PROPERTIES)) {
return Types.ROW();
}
if (!node.isObject()) {
throw new IllegalArgumentException(
"Invalid '" + PROPERTIES + "' property for object type in node: " + location);
}
final JsonNode props = node.get(PROPERTIES);
final String[] names = new String[props.size()];
final TypeInformation<?>[] types = new TypeInformation[props.size()];
final Iterator<Map.Entry<String, JsonNode>> fieldIter = props.fields();
int i = 0;
while (fieldIter.hasNext()) {
final Map.Entry<String, JsonNode> subNode = fieldIter.next();
// set field name
names[i] = subNode.getKey();
// set type
types[i] = convertType(location + '/' + subNode.getKey(), subNode.getValue(), root);
i++;
}
// validate that object does not contain additional properties
if (node.has(ADDITIONAL_PROPERTIES) && node.get(ADDITIONAL_PROPERTIES).isBoolean() &&
node.get(ADDITIONAL_PROPERTIES).asBoolean()) {
throw new IllegalArgumentException(
"An object must not allow additional properties in node: " + location);
}
return Types.ROW_NAMED(names, types);
}
代码示例来源:origin: apache/flink
private static TypeInformation<?> convertArray(String location, JsonNode node, JsonNode root) {
// validate items
if (!node.has(ITEMS)) {
throw new IllegalArgumentException(
"Arrays must specify an '" + ITEMS + "' property in node: " + location);
}
final JsonNode items = node.get(ITEMS);
// list (translated to object array)
if (items.isObject()) {
final TypeInformation<?> elementType = convertType(
location + '/' + ITEMS,
items,
root);
// result type might either be ObjectArrayTypeInfo or BasicArrayTypeInfo for Strings
return Types.OBJECT_ARRAY(elementType);
}
// tuple (translated to row)
else if (items.isArray()) {
final TypeInformation<?>[] types = convertTypes(location + '/' + ITEMS, items, root);
// validate that array does not contain additional items
if (node.has(ADDITIONAL_ITEMS) && node.get(ADDITIONAL_ITEMS).isBoolean() &&
node.get(ADDITIONAL_ITEMS).asBoolean()) {
throw new IllegalArgumentException(
"An array tuple must not allow additional items in node: " + location);
}
return Types.ROW(types);
}
throw new IllegalArgumentException(
"Invalid type for '" + ITEMS + "' property in node: " + location);
}
代码示例来源:origin: org.apache.flink/flink-json
private static TypeInformation<Row> convertObject(String location, JsonNode node, JsonNode root) {
// validate properties
if (!node.has(PROPERTIES)) {
return Types.ROW();
}
if (!node.isObject()) {
throw new IllegalArgumentException(
"Invalid '" + PROPERTIES + "' property for object type in node: " + location);
}
final JsonNode props = node.get(PROPERTIES);
final String[] names = new String[props.size()];
final TypeInformation<?>[] types = new TypeInformation[props.size()];
final Iterator<Map.Entry<String, JsonNode>> fieldIter = props.fields();
int i = 0;
while (fieldIter.hasNext()) {
final Map.Entry<String, JsonNode> subNode = fieldIter.next();
// set field name
names[i] = subNode.getKey();
// set type
types[i] = convertType(location + '/' + subNode.getKey(), subNode.getValue(), root);
i++;
}
// validate that object does not contain additional properties
if (node.has(ADDITIONAL_PROPERTIES) && node.get(ADDITIONAL_PROPERTIES).isBoolean() &&
node.get(ADDITIONAL_PROPERTIES).asBoolean()) {
throw new IllegalArgumentException(
"An object must not allow additional properties in node: " + location);
}
return Types.ROW_NAMED(names, types);
}
代码示例来源:origin: apache/flink
tEnv.toAppendStream(result, Types.ROW(Types.INT, Types.SQL_TIMESTAMP));
代码示例来源:origin: org.apache.flink/flink-table-common
return Types.ROW(types.toArray(new TypeInformation<?>[0]));
代码示例来源:origin: org.apache.flink/flink-json
private static TypeInformation<?> convertArray(String location, JsonNode node, JsonNode root) {
// validate items
if (!node.has(ITEMS)) {
throw new IllegalArgumentException(
"Arrays must specify an '" + ITEMS + "' property in node: " + location);
}
final JsonNode items = node.get(ITEMS);
// list (translated to object array)
if (items.isObject()) {
final TypeInformation<?> elementType = convertType(
location + '/' + ITEMS,
items,
root);
// result type might either be ObjectArrayTypeInfo or BasicArrayTypeInfo for Strings
return Types.OBJECT_ARRAY(elementType);
}
// tuple (translated to row)
else if (items.isArray()) {
final TypeInformation<?>[] types = convertTypes(location + '/' + ITEMS, items, root);
// validate that array does not contain additional items
if (node.has(ADDITIONAL_ITEMS) && node.get(ADDITIONAL_ITEMS).isBoolean() &&
node.get(ADDITIONAL_ITEMS).asBoolean()) {
throw new IllegalArgumentException(
"An array tuple must not allow additional items in node: " + location);
}
return Types.ROW(types);
}
throw new IllegalArgumentException(
"Invalid type for '" + ITEMS + "' property in node: " + location);
}
代码示例来源:origin: com.alibaba.blink/flink-table-common
return Types.ROW(types.toArray(new TypeInformation<?>[0]));
代码示例来源:origin: com.alibaba.blink/flink-json
private static TypeInformation<?> convertArray(String location, JsonNode node, JsonNode root) {
// validate items
if (!node.has(ITEMS)) {
throw new IllegalArgumentException(
"Arrays must specify an '" + ITEMS + "' property in node: " + location);
}
final JsonNode items = node.get(ITEMS);
// list (translated to object array)
if (items.isObject()) {
final TypeInformation<?> elementType = convertType(
location + '/' + ITEMS,
items,
root);
// result type might either be ObjectArrayTypeInfo or BasicArrayTypeInfo for Strings
return Types.OBJECT_ARRAY(elementType);
}
// tuple (translated to row)
else if (items.isArray()) {
final TypeInformation<?>[] types = convertTypes(location + '/' + ITEMS, items, root);
// validate that array does not contain additional items
if (node.has(ADDITIONAL_ITEMS) && node.get(ADDITIONAL_ITEMS).isBoolean() &&
node.get(ADDITIONAL_ITEMS).asBoolean()) {
throw new IllegalArgumentException(
"An array tuple must not allow additional items in node: " + location);
}
return Types.ROW(types);
}
throw new IllegalArgumentException(
"Invalid type for '" + ITEMS + "' property in node: " + location);
}
内容来源于网络,如有侵权,请联系作者删除!