You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Cheolsoo Park (JIRA)" <ji...@apache.org> on 2014/06/08 01:39:01 UTC

[jira] [Commented] (PIG-3939) SPRINTF function to format strings using a printf-style template

    [ https://issues.apache.org/jira/browse/PIG-3939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14021022#comment-14021022 ] 

Cheolsoo Park commented on PIG-3939:
------------------------------------

+1. Will commit it today.

> SPRINTF function to format strings using a printf-style template
> ----------------------------------------------------------------
>
>                 Key: PIG-3939
>                 URL: https://issues.apache.org/jira/browse/PIG-3939
>             Project: Pig
>          Issue Type: New Feature
>          Components: impl, internal-udfs
>            Reporter: Philip (flip) Kromer
>            Assignee: Philip (flip) Kromer
>              Labels: builtin, formatted, function, string, udf
>         Attachments: 0001-PIG-3939-SPRINTF-function-to-format-strings-using-a-.patch, 0001-PIG-3939-addendum-SPRINTF-function-to-format-strings-v2.patch, 0001-SPRINTF-function-to-format-strings-using-a-printf-st.patch
>
>
> Pig should provide a function to format output using java.util.Formatter (printf-style) templates.
> {code}
> SPRINTF(
>     '%6s|%-8s|%2$,10d %2$8x %3$1TFT%<tT%<tz', 
>     'yay', 1234567, ToMilliSeconds(CurrentTime()))
> --  '   yay|1234567 | 1,234,567   12d687 2014-05-15T08:22:26-0500'
> {code}
> I've written a UDF implementing SPRINTF(...), a variable-arguments function that accepts a string and any number of objects and returns a string. It counts on the java.util.Formatter to do its type-conversion, which works quite well. It doesn't appreciates pig's Dates for datetime formats ('%t'), but is quite happy to use epoch milliseconds for these as shown above.
> Patch forthcoming.



--
This message was sent by Atlassian JIRA
(v6.2#6252)