[
https://issues.apache.org/jira/browse/HIVE-6096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13855514#comment-13855514
]
qus-jiawei commented on HIVE-6096:
----------------------------------
Now, hive dosen't have base64 encode function.
If I use base64 to encode the keyObject ,is it suitable to add one.
Or hive has some other better encode algorithm to encode the keyObject.
> while hive query using hive.optimize.skewjoin , it use the keyobject as
> filename.If the keyobject contain some illegal character,the query crash.
> -------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HIVE-6096
> URL: https://issues.apache.org/jira/browse/HIVE-6096
> Project: Hive
> Issue Type: Bug
> Reporter: qus-jiawei
> Attachments: file_name_illegal .log
>
>
> while hive query using hive.optimize.skewjoin , it use the keyobject as
> filename.If the keyobject contain some illegal character,the query crash.
> In our version hive-0.10-cdh4.2.1,the code with bug is :
> public class RowContainer<Row extends List<Object>> extends
> AbstractRowContainer<Row> {
> ...
> private void spillBlock(Row[] block, int length) throws HiveException {
> ...
> if (this.keyObject != null) {
> suffix = "." + this.keyObject.toString() + suffix;
> }
> ...
> }
> ...
> }
> And for trunk:
> public class RowContainer<Row extends List<Object>> extends
> AbstractRowContainer<Row> {
> ...
> protected void setupWriter() throws HiveException {
> ...
> if (this.keyObject != null) {
> suffix = "." + this.keyObject.toString() + suffix;
> }
> ...
> }
> ...
> }
> I think it should use base64 to encode the keyObject and get legal filename.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)