【问题标题】:Apache Pig - Create unique output folder using UDFApache Pig - 使用 UDF 创建唯一的输出文件夹
【发布时间】:2015-04-30 04:02:21
【问题描述】:

我正在使用来自 Hue 的 Apache Pig 使用脚本 etl-op.pig 对文件执行 ETL 操作。使用以下行将输出存储到 HDFS 中的指定文件夹中:

STORE outval INTO '/user/root/Pig-Output

但是下次运行脚本时,它会说输出文件夹已经存在并且不会创建单独的文件夹。

有什么方法可以使用 Hue 在 Pig 中创建 Java UDF,以便生成唯一标识符并将其附加到脚本中存在的“Pig-Output”文件夹名称中?

【问题讨论】:

  • 您需要什么类型的标识?一种流行的方法是只添加一个变量,例如''STORE outval INTO '/user/root/Pig-Output/$output"
  • @Romain: $output 将包含什么值?
  • 系统将提示您在提交时提供值。
  • @Romain:谢谢,明白了:)

标签: java hadoop apache-pig hue


【解决方案1】:

您可以在没有 UDF 的情况下做到这一点: 定义一个类似于当前unix时间戳的变量:

%default TS `date  +%s` 

然后将其用作例如文件夹的后缀:

STORE outval INTO '/user/root/Pig-Output_$TS' ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-11
    • 2013-12-31
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    相关资源
    最近更新 更多