Davide Malagoli created KYLIN-3857:
--------------------------------------

             Summary: add parameter to change sql quoting character for sqoop
                 Key: KYLIN-3857
                 URL: https://issues.apache.org/jira/browse/KYLIN-3857
             Project: Kylin
          Issue Type: Bug
            Reporter: Davide Malagoli
         Attachments: sqoop-error.log, sqoop-script.sh

I've set up  Kylin to access a SQL server using JDBC and do the ETL step as 
described in

[http://kylin.apache.org/docs/tutorial/setup_jdbc_datasource.html]

but when the "Sqoop To Flat Hive Table" runs it terminates with an error shown 
in the attached log.

It seems that the root cause is the presence of the '`' character in the query, 
which has no meaning for sql server.

 

My problem seems to related to this piece of code

 

public class FlatTableSqlQuoteUtils {

public static final String QUOTE = "`";

/**
 * Quote identifier by default quote `
 * @param identifier
 * @return
 */
 public static String quoteIdentifier(String identifier){
 return QUOTE + identifier + QUOTE;
 }

 

The solution may be to add a parameter to change this character used for 
quoting.

 

Just to be sure I made a copy of the original "sqoop" command to "sqoop.orig" 
and replaced the original with a little script of mine (attached).

This little script removes the "`" character from the original command and the 
call "sqoop.orig" with the cleaned arguments.

It works, but it is still an ugly workaround.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to