将输出存储在PIG中的文本文件中

时间:2017-02-10 09:57:42

标签: apache-pig

我需要将最终输出存储在PIG文本文件中。

我的要求是:

'Test'成为最终输出文件,我需要将其存储在路径中。 比如,'/path/'

我的代码:

a = LOAD 'example.csv' USING PigStorage(';');

b = FOREACH a GENERATE $0,$1,$2,$3,$6,$7,$8,$9,$11,$12,$13,$14,$20,$24,$25;

STORE b INTO ‘myoutput’;

当我试图保存最终版时,它会被保存为partfile。 但我需要以另一种关系加载此输出。 如果我能够将其保存为文本文件,我可以加载它但我可以在加载时使用零件文件吗? 请建议将输出保存在文本文件中。

2 个答案:

答案 0 :(得分:0)

  

了解STORE命令加载到文件。参考本教程:   https://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#STORE

STORE b INTO ‘myoutput.txt’ using PigStorage(',');

答案 1 :(得分:0)

您可以使用正则表达式*加载存储的关系。

a = LOAD '/path/part-*' INTO USING PigStorage(',');

并像这样加载

class ModelViewSet(ModelViewSet):

    @list_route()
    def sample_field(self, request):
        desired_field = request.data.get('field', None)
        if not desired_field:
            return response # pseudocode

        values = Model.objects.all().values_list(desired_field, flat=True)
        # serialize this for returning the response
        return Response(json.dumps(values))  # this is an example, you might want to do something mode involved