本文整理汇总了Java中org.apache.parquet.example.data.Group.append方法的典型用法代码示例。如果您正苦于以下问题:Java Group.append方法的具体用法?Java Group.append怎么用?Java Group.append使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.parquet.example.data.Group
的用法示例。
在下文中一共展示了Group.append方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: generateSparseParquetFile
import org.apache.parquet.example.data.Group; //导入方法依赖的package包/类
static File generateSparseParquetFile(File parentDir, String filename, int nrows) throws IOException {
File f = new File(parentDir, filename);
Configuration conf = new Configuration();
MessageType schema = parseMessageType(
"message test { optional int32 int32_field; optional binary string_field (UTF8); required int32 row; optional int32 int32_field2; } ");
GroupWriteSupport.setSchema(schema, conf);
SimpleGroupFactory fact = new SimpleGroupFactory(schema);
ParquetWriter<Group> writer = new ParquetWriter<Group>(new Path(f.getPath()), new GroupWriteSupport(),
UNCOMPRESSED, 1024, 1024, 512, true, false, ParquetProperties.WriterVersion.PARQUET_2_0, conf);
try {
for (int i = 0; i < nrows; i++) {
Group g = fact.newGroup();
if (i % 10 == 0) { g = g.append("int32_field", i); }
if (i % 10 == 0) { g = g.append("string_field", "CAT_" + (i % 10)); }
if (i % 10 == 0) { g = g.append("int32_field2", i); }
writer.write(g.append("row", i));
}
} finally {
writer.close();
}
return f;
}
示例2: writeFile
import org.apache.parquet.example.data.Group; //导入方法依赖的package包/类
private static void writeFile(File out, Configuration conf, boolean useSchema2) throws IOException {
if (!useSchema2) {
GroupWriteSupport.setSchema(schema, conf);
} else {
GroupWriteSupport.setSchema(schema2, conf);
}
SimpleGroupFactory f = new SimpleGroupFactory(schema);
Map<String, String> extraMetaData = new HashMap<String, String>();
extraMetaData.put("schema_num", useSchema2 ? "2" : "1" );
ParquetWriter<Group> writer = ExampleParquetWriter
.builder(new Path(out.getAbsolutePath()))
.withConf(conf)
.withExtraMetaData(extraMetaData)
.build();
for (int i = 0; i < 1000; i++) {
Group g = f.newGroup()
.append("binary_field", "test" + i)
.append("int32_field", i)
.append("int64_field", (long) i)
.append("boolean_field", i % 2 == 0)
.append("float_field", (float) i)
.append("double_field", (double)i)
.append("flba_field", "foo");
if (!useSchema2) {
g = g.append("int96_field", Binary.fromConstantByteArray(new byte[12]));
}
writer.write(g);
}
writer.close();
}
示例3: groupFromUser
import org.apache.parquet.example.data.Group; //导入方法依赖的package包/类
public static SimpleGroup groupFromUser(User user) {
SimpleGroup root = new SimpleGroup(schema);
root.append("id", user.getId());
if (user.getName() != null) {
root.append("name", user.getName());
}
if (user.getPhoneNumbers() != null) {
Group phoneNumbers = root.addGroup("phoneNumbers");
for (PhoneNumber number : user.getPhoneNumbers()) {
Group phone = phoneNumbers.addGroup("phone");
phone.append("number", number.getNumber());
if (number.getKind() != null) {
phone.append("kind", number.getKind());
}
}
}
if (user.getLocation() != null) {
Group location = root.addGroup("location");
if (user.getLocation().getLon() != null) {
location.append("lon", user.getLocation().getLon());
}
if (user.getLocation().getLat() != null) {
location.append("lat", user.getLocation().getLat());
}
}
return root;
}
示例4: write
import org.apache.parquet.example.data.Group; //导入方法依赖的package包/类
@Override
public void write(ParquetWriter<Group> writer) throws IOException {
for (int index = 0; index < recordCount; index++) {
Group group = new SimpleGroup(super.schema);
for (int column = 0, columnCnt = schema.getFieldCount(); column < columnCnt; ++column) {
Type type = schema.getType(column);
RandomValueGenerator<?> generator = randomGenerators.get(column);
if (type.isRepetition(OPTIONAL) && generator.shouldGenerateNull()) {
continue;
}
switch (type.asPrimitiveType().getPrimitiveTypeName()) {
case BINARY:
case FIXED_LEN_BYTE_ARRAY:
case INT96:
group.append(type.getName(), ((RandomBinaryBase<?>) generator).nextBinaryValue());
break;
case INT32:
group.append(type.getName(), (Integer) generator.nextValue());
break;
case INT64:
group.append(type.getName(), (Long) generator.nextValue());
break;
case FLOAT:
group.append(type.getName(), (Float) generator.nextValue());
break;
case DOUBLE:
group.append(type.getName(), (Double) generator.nextValue());
break;
case BOOLEAN:
group.append(type.getName(), (Boolean) generator.nextValue());
break;
}
}
writer.write(group);
}
}