You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "qus-jiawei (JIRA)" <ji...@apache.org> on 2013/12/23 10:17:50 UTC
[jira] [Commented] (HIVE-6096) while hive query using
hive.optimize.skewjoin , it use the keyobject as filename.If the keyobject
contain some illegal character,the query crash.
[ 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)