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)