如何使用嵌套字段创建镶木地板文件?我有以下内容:
public static void main(String []args) throws IOException{
int fileNum = 10; //num of files constructed
int fileRecordNum = 50; //record num of each file
int rowKey = 0;
for(int i = 0; i < fileNum; ++ i ) {
Map<String, String> metas = new HashMap<>();
metas.put(HConstants.START_KEY, genRowKey("%10d", rowKey + 1));
metas.put(HConstants.END_KEY, genRowKey("%10d", rowKey + fileRecordNum));
ParquetWriter<Group> writer = initWriter("pfile/scanner_test_file" + i, metas);
for (int j = 0; j < fileRecordNum; ++j) {
rowKey ++;
Group group = sfg.newGroup().append("rowkey", genRowKey("%10d", rowKey))
.append("cf:name", "wangxiaoyi" + rowKey)
.append("cf:age", String.format("%10d", rowKey))
.append("cf:job", "student")
.append("timestamp", System.currentTimeMillis());
writer.write(group);
}
writer.close();
}
}
我想创建两个字段:
有人可以提供一个如何在Java中执行此操作的示例吗?
答案 0 :(得分:-3)
Parquet columned (迷你存储)键值存储... I.e。这种存储不能保留嵌套数据,但是此存储接受将逻辑类型的数据转换为二进制格式(包含数据的字节的字节数组,以了解应该对此数据应用何种类型的转换)。
我不确定您应该如何实现转换器,但基本上您应该使用Binary
类作为数据容器并创建一些转换器...您可以找到String
数据的示例转换器类型。