gpt4 book ai didi

hadoop - 如何使用 Pig 脚本生成嵌套的 Avro 字段?

转载 作者:可可西里 更新时间:2023-11-01 14:41:22 26 4
gpt4 key购买 nike

我是 Pig 新手,我的输入数据格式如下

Record1:
{
label:int,
id: long
},
Record 2:
{
...
}
...

我想要的输出是得到

Record 1:
{
data:{
label:int,
id:long
}
},
Record 2:
{
...
}
...

我试过:

result = FOREACH input GENERATE (id, label) AS data;

但这会导致嵌套的元组结构如下所示:

Record 1:
{
data:{
TUPLE_1:{
label:int,
id: long
}
}
}

我怎么能去掉另一个袋子“TUPLE_1”,看起来我错过了一个微不足道的设置。

最佳答案

您可能需要在存储数据时指定模式。如果您使用 org.apache.pig.piggybank.storage.avro.AvroStorage,它可以将模式定义作为参数。

result = FOREACH input GENERATE label:int, id:long;
STORE result INTO 'result.avro' USING org.apache.pig.piggybank.storage.avro.AvroStorage('schema', '{"type": "record","name": "data","fields": [{"name": "label","type": "int"},{"name": "id", "type": "long"}]}');

关于hadoop - 如何使用 Pig 脚本生成嵌套的 Avro 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22416961/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com